TORONTO -- In a tight duel between two of the AL's top young starters, the throw Ricky Romero regretted most wasn't a pitch to home plate, but a toss he didn't make to third base.
Oakland trailed 1-0 going into the eighth when Andy LaRoche led off with a double and advanced to third on Cliff Pennington's sacrifice. Romero was left kicking himself for not trying to get an easy out at third on the bunt, settling for the safe play at first.
|More on A's at Blue Jays|
The A's Trevor Cahill pitched eight strong innings for his first win of the season.
"You saw two of the better pitchers in the American League going at it, classic pitcher's duel," Blue Jays manager John Farrell said. "We felt all along as the game progressed it was going to come down to one push from either offense to be the difference. We tried to snuff out theirs in the eighth inning and unfortunately it didn't work out today."
Jason Frasor (1-1) replaced Romero after the bunt by Pennington. He fanned Coco Crisp, but strike three was a wild pitch that bounced away from catcher J.P. Arencibia, allowing LaRoche to score and Crisp to move to first.
Crisp stole second and third before scoring on Jackson's go-ahead single.
"The one thing you're thinking as a pitcher is get an out in that situation," Romero said of the bunt. "It's not a force play. I don't know. I think I just didn't make the play the way I should have and kind of kicked myself in the head for that one."
Shawn Camp replaced Frasor after Josh Willingham was hit by a pitch. He got Kevin Kouzmanoff to ground into a fielder's choice to end the inning.
Romero gave up one run and four hits in 7 1-3 innings, with two walks and five strikeouts, while also allowing Cahill to get into a rhythm.
"His stuff was nasty," Cahill said. "I felt like I sat down and got right back up."
Cahill (1-0) came in 0-2 with an 8.04 ERA in three starts against Toronto, but kept the Blue Jays in check. He allowed one run and three hits, walked none with seven strikeouts.
"[Cahill] was outstanding," Oakland manager Bob Geren said. "He had the strikeouts going, he had the good curveball going."
Known mostly for his sinker, Cahill spent hours in the spring working on his curve with A's pitching coach Ron Romanick, and got good use out of it against the Blue Jays.
"I used it a lot first pitch and then if I was behind I threw it in there for a different look," he said. "It's helped me out a lot since two years ago when I was basically just fastball-changeup."
Brian Fuentes closed out the game for his first save as the Athletics avoided a three-game sweep. Fuentes gave up a two-out single to Adam Lind before getting Aaron Hill to fly out.
Toronto broke through in the bottom of the sixth when Arencibia led off with a double and scored on a two-out single to right by Jayson Nix. A stolen base put Nix in scoring position, but Jackson made a sliding catch on Lind's sinking liner to end the threat.
Oakland infielder Mark Ellis was held out of the starting lineup because of an inner-ear problem and dizziness, but came on as a defensive replacement in the eighth. It was the 1,000th game of his career.
Blue Jays SS Yunel Escobar was out of the lineup because of a mild concussion caused by sliding into LaRoche's knee on a fifth-inning triple Wednesday. He will travel with the team to Los Angeles and could return next week, GM Alex Anthopoulos said. ... Athletics RHP Rich Harden (right shoulder) threw a bullpen session before the game and is scheduled to throw live batting practice Monday, Geren said. ... The Blue Jays activated RHP Octavio Dotel (right hamstring) off the 15-day DL and optioned RHP Casey Janssen to Triple-A Las Vegas. Dotel had a successful outing in an intrasquad game in Florida on Wednesday.