"One bad inning kind of blew us away tonight," Twins manager Ron Gardenhire said.
Minnesota has lost 10 of 12 in Toronto and has not won consecutive games in Canada since May 2005. The Twins have lost 13 of 15 overall against the Blue Jays.
"I've been [with the Twins] for five years and this has been a tough place," catcher Mike Redmond said. "A lot of bad breaks here."
Minnesota remains 6 1/2 games behind Detroit in the AL Central after the Tigers lost 7-5 at Kansas City.
Twins catcher Joe Mauer, who came in leading the major leagues with a .369 batting average, did not start but pinch hit in the ninth, grounding out to end the game. Mauer is expected to be the designated hitter on Wednesday, Gardenhire said.
Blue Jays rookie designated hitter Randy Ruiz returned to the lineup two days after he was knocked out of the game when he took a pitch in the face. Ruiz was hitless in three at-bats, but had a sacrifice fly.
McDonald, who has 11 career homers in 718 games, went 3-for-4 with three RBIs, boosting his season total to seven.
"That's not something I like to talk about," a sheepish McDonald said. "I'll take them any way I can get them."
Romero (12-7) had won just once in six starts coming in but earned the victory by allowing three runs and seven hits in 6 2/3 innings.
"He's got great stuff," Gardenhire said. "The guy can throw the ball 94 miles an hour with a great changeup and a great breaking ball. He's a nice pitcher."
The left-hander, who walked three and struck out four, moved into a tie with Tampa Bay's Jeff Niemann and Detroit's Rick Porcello for the AL rookie lead in wins. Porcello started for the Tigers at Kansas City but did not figure in the decision.
Romero was appreciative of McDonald's blast, his first since July 6 at Yankee Stadium.
"Big ups to [McDonald], he deserves it," Romero said. "He's a guy who works his tail off day in and day out. I couldn't be happier for him."
Minnesota outfielder Denard Span was picked off third base by catcher Raul Chavez in the first but the Twins still pushed across a run. Jason Kubel walked and scored on an interference call when Justin Morneau's double down the right field line was mistakenly handled by a security guard.
Kubel hit a two-run double in the third but the Blue Jays took the lead in the sixth, sending 10 batters to the plate to chase Twins starter Brian Duensing.
Jon Rauch (2-1) relieved Duensing after the first three batters reached safely but gave up a sacrifice fly, a walk and a game-tying two-run single to Edwin Encarnacion. One out later, McDonald hit his second homer of the season.
"I was trying to go fastball in, left it over the plate and up and he just turned on it," Rauch said.
McDonald's teammates serenaded him with good-natured cheers and catcalls in the clubhouse after the game.
"I don't hit too many homers so they had a little fun with that," McDonald said. "Everybody wants to finish the year strong. It's no secret that it's been a tough year for a lot of the guys. We're not where we want to be so any positives you can take from these games is good for every guy in here."
Making his fifth major league start, Duensing allowed three runs and six hits in five-plus innings. Duensing, who walked two and struck out two, said he struggled with his command.
"I didn't really know exactly each pitch was going to go, especially early on," Duensing said. "I got away with some pitches. They're a good hitting team. I feel like I made some mistakes that fortunately weren't hit too far."
Minnesota LHP Francisco Liriano (arm fatigue) threw a simulated game and is expected to be activated off the 15-day DL Wednesday. ... Toronto OF Adam Lind shared AL Player of the Week honors with Tampa Bay's Evan Longoria. Lind hit .321 with three homers and a major league-best 12 RBIs in eight games. ... Toronto 2B Aaron Hill will likely be away from the team until Friday after his wife gave birth to the couple's first child, daughter Paige Victoria, on Monday night.