TORONTO -- The Blue Jays probably wish Sidney Ponson had been kept out of Canada after all.
Ponson's status for this start was in doubt because of two court cases, but he was granted a special permit to enter Canada on Friday, a day after his team flew to Toronto.
"There's was a 50-50 chance. I was waiting. It was a yes or no decision by the government of Canada. They let me in and gave me a chance not to miss a start. I'm happy about that," he said. "I don't know what Maz (manager Lee Mazzilli) and Ray (pitching coach Ray Miller) would have done if I couldn't come."
The 28-year-old right-hander had trouble obtaining a Canadian work visa because he spent 11 days in an Aruban jail after he allegedly punched a judge in a Christmas Day brawl, and was arrested in Florida less than a month later for driving under the influence of alcohol.
But once Ponson (3-1) was allowed to pitch, he made the most of it. He threw a five-hitter, giving up an RBI single to Reed Johnson with two outs in the ninth.
"It was a big game for him with all the stuff that went on," Mazzilli said. "He put a little pressure on himself to go out there and do the job like he did. He answered the call."
Sosa connected off Roy Halladay in the fifth inning and Justin Speier in the ninth, his first multihomer game with Baltimore and the 67th of his career, tying him for third all-time with Mark McGwire. Only Barry Bonds (68) and Babe Ruth (72) have more.
"It's very nice to be in that category, but there's no time to celebrate it because it's just the beginning of the year," Sosa said.
Mazzilli thought about giving Sosa the day off.
"He just said he felt good. He sure did," Mazzilli said.
Ponson retired his first 14 batters before suddenly losing control of his breaking ball. He loaded the bases with two outs in the fifth by walking Eric Hinske, Gregg Zaun and Johnson, but rookie Russ Adams swung at two consecutive pitches and flied out to end the threat.
Orlando Hudson ended Ponson's no-hit bid with a one-out single in the sixth. Vernon Wells followed with a single, putting runners at the corners, but Corey Koskie struck out swinging and Shea Hillenbrand flied out.
Gregg Zaun doubled in the seventh and Hinske doubled in the ninth for Toronto's only other hits.
Ponson struck out seven and walked four in his 28th career complete game and first this season.
"He's got dominating stuff, when he's on like that," Toronto manager John Gibbons said. "If he had the consistency, he should be a big-time winner."
At 12-7, the Orioles are in first place in the AL East. They're off to Boston to play the second-place Red Sox in a three-game series starting Monday night.
The Blue Jays have lost five straight and seven of eight.
Halladay (3-1) failed to become the first four-game winner in the AL. He allowed six runs and nine hits in six innings.
"The whole game was kind of a battle. My location wasn't what I would have liked," Halladay said. "I just tried to grind out and keep us in the game. Unfortunately, they got a few too many."
Mora led off the third with a homer, Geronimo Gil hit an RBI grounder in the fourth, Sosa homered in the fifth and Roberts hit an RBI single off Halladay in the sixth to give Baltimore a 6-0 lead.
- Orioles C Javy Lopez was given a day off.
- The Blue Jays have Monday off after playing 17 games in 17 days.