ST. PETERSBURG, Fla. -- After stealing seven bases, the Oakland Athletics finally got another chance to celebrate in a visiting clubhouse.
Oakland had dropped the first four games of a nine-game trip.
"It's good for all of us," McCarthy said. "We came out and played a very complete game. We needed to come out and have something where the whole team can come in and be happy with what we did tonight."
McCarthy (5-5) helped Oakland win for just the eighth time in its last 38 games away from home. He struck out five before Fautino De Los Santos finished up with a hitless ninth.
McCarthy improved to 4-0 in five starts since the All-Star break.
"He was terrific," A's manager Bob Melvin said. "He's been as consistent a guy as we've had."
Oakland had its most stolen bases since swiping eight on July 29, 1989, against Seattle. Coco Crisp stole a career-best four bags, giving the speedster 37 this season.
"He gets an opportunity and takes advantage of it," Melvin said.
Crisp did hurt his right calf on one of the early stolen bases, but stayed in the game through eight innings. Melvin said the outfielder might miss Sunday's game.
Tampa Bay's B.J. Upton grounded out in the second inning, ending a stretch of reaching base in seven consecutive plate appearances. Upton is one of seven players who share the team record of eight.
McCarthy retired 13 straight after Evan Longoria's first-inning single before allowing consecutive singles to Robinson Chirinos and Sean Rodriguez to start the sixth. The right-hander was able to work out of the jam.
DeJesus homered and Rosales had an RBI grounder off Alex Cobb (3-2) as Oakland went up 2-0 in the second. DeJesus, who hadn't hit a home run in his previous 42 games, also went deep in the ninth.
Cobb gave up five runs and seven hits in 4 1/3 innings. The rookie right-hander, who has lost two starts in a row, experienced discomfort in his throwing hand and was taken to a hospital for precautionary tests.
"He did not complain about anything throughout the course of the game," Tampa Bay manager Joe Maddon said. "I was advised about the problem during the game. He's being seen (by the team doctor). I really have no idea where this is going to go."
Crisp had a bunt single in the third, stole second and scored to make it 3-0 on Josh Willingham's sacrifice fly.
Weeks extended the advantage to 4-0 on an RBI single during the fourth. Weeks drove in a run with a double and Rosales had a sacrifice fly in the eighth.
Oakland took a 5-0 lead in the fifth when Crisp singled, stole both second and third and scored on Cliff Pennington's sacrifice fly.
Oakland threatened in the first, but a baserunning mistake by Crisp ended the inning. After reaching on an error and stealing second, Crisp was tagged out in a rundown near third base on Willingham's two-out single.
Weeks was also thrown out to end the fourth after going too far away from first base on his hit.
Oakland 1B Conor Jackson didn't play due to spasms on the right side of his back. There is an outside chance he could play Sunday. ... Tampa Bay All-Star LHP David Price (9-10), Sunday's scheduled starter, has allowed eight homers in his last six outings after giving up nine over his first 17 appearances. "I'm looking to go out there and set the tone early and give us a chance to win," Price said. ... Athletics RHP Trevor Cahill (9-10) enters his start Sunday 1-5 with a 6.13 ERA in his previous seven games. ... Hideki Matsui made his 15th start this season in left field for Oakland. He has been the DH 76 times. ... Matsui singled in the seventh to extend his hitting streak to 14 games.