"We scored some runs early for me and that makes a big difference," said Halladay, who had received three runs of support or fewer in six of his past seven outings.
Halladay (12-5) allowed three runs and nine hits in eight innings, walked one and struck out four. He won for just the second time in eight starts since coming off the 15-day disabled list June 29 after missing two turns with a sore groin.
"This is probably as well as we've swung the bat against Halladay and probably our best chance," Orioles manager Dave Trembley said.
It still wasn't enough, as the righty improved to 20-4 with a 2.89 ERA in 31 career games against the Orioles. Halladay has not lost to Baltimore since May 4, 2005, and is 2-0 in three starts against the O's this season. He said consistent run support is the biggest reason for his success.
"We've had pretty good games offensively and that's made a big difference," Halladay said. "It's a never an easy lineup to face, especially when you've seen them a lot, but I think the fact that we can score runs has made it easier."
Baltimore's Luke Scott is 7 for 15 with three homers off Halladay but doesn't look forward to facing the Toronto ace.
"He's a very smart pitcher," Scott said. "He knows how to use the stuff he has very, very well. That's why he's able to go late in games all the time. He pitches to contact, he doesn't mess around."
Jason Frasor finished in the ninth for Toronto.
Scutaro matched a career high with four hits and Kevin Millar homered and went 3 for 3 with a walk.
Baltimore rookie Brian Matusz (1-1), making his second career start, gave up all three home runs.
Matusz, who had not lost since May 8, when he was pitching for Class-A Frederick, didn't hang his head.
"I'm upset about it but I know what I did," the 22-year-old said. "That's one important thing. I know what I did wrong, I know what I need to do to improve. I'm able to learn a lot from today and hopefully get back to winning ways my next outing."
Scott's RBI single gave Baltimore a 1-0 lead in the second but Millar connected in the bottom half to tie it, his sixth.
Toronto chased Matusz and took the lead for good in the bottom half. Scutaro followed Jose Bautista's leadoff single with a homer to left, his career-high 10th. Two outs later, Millar walked and came around on a two-run drive by Wells, his 12th.
It's the 15th time this season the Blue Jays have hit multiple homers in an inning.
The left-handed Matusz, who beat Detroit in his major league debut on Aug. 4, was gone after 2 2/3 innings. He allowed five runs and seven hits, walked two and struck out one.
"He didn't locate his fastball as well [as last Tuesday] and his slider wasn't as effective for him," Trembley said. "He tried to get ahead with his fastball and he tried to pitch in with his fastball but he left it over the middle of the plate."
Melvin Mora made it 5-3 with an RBI single in the sixth but Halladay struck out Scott with a curveball to strand runners at first and second.
"I was hoping Luke Scott would hit a three-run homer today," Trembley said. "I thought that was what we needed. He's hit Halladay good and he's hit good in this ballpark. We needed a three-run homer today and it didn't happen."
Millar and Wells hit RBI singles as Toronto tacked on two more in the seventh against Matt Albers.
Orioles 2B Brian Roberts, who left Saturday's game after fouling a ball off his left shin, did not play. Manager Dave Trembley said Roberts would have to wear a shin guard if he played Monday against Oakland. ... Former Blue Jays closer Tom Henke threw out the first pitch. ... The roof was closed when the game started but opened in the top of the fifth.