TORONTO -- Tampa Bay manager Joe Maddon was smiling after their win and it wasn't because his Rays roughed up Roy Halladay.
Nope, he was impressed with rookie starter Jeff Niemann.
"I can't be more pleased," Maddon said. "It was just a really gritty, good effort when we needed to do it. It was awesome."
Staked to an early 3-0 lead, Niemann buckled by giving up a second-inning grand slam to Toronto's Rod Barajas. But the rookie righty never broke, allowing the Rays to come back.
"He easily could have caved in at that point, easily could have just called it in from that moment on and said 'Forget about it,' but he didn't," Maddon said. "You watch his composure and you watch how well he brought us into the seventh inning. For me, that may have been his best start of the year just based on that alone."
Niemann (12-5) allowed six runs -- five earned -- and eight hits in 6 1/3 innings. He walked three and struck out three to move past Toronto's Ricky Romero for the lead among AL rookies in victories.
"After the game, I went up to him and said 'We won this game because of you. You kept it together,'" Pena said. "That's extremely impressive coming from a young pitcher like that. He showed a lot of poise."
Halladay allowed eight runs -- seven earned -- in six innings to lose for the third time in five starts against the Rays this season.
"He's arguably the best pitcher in the game," Pena said. "His stuff is nasty. It's very hard to just make contact. It does feel good to be able to come out on top because we know we're going up against the best."
Zobrist finished 3 for 4 with two RBIs and Jason Bartlett had three hits with an RBI, raising his average to .343, as the Rays won for the seventh time in nine games.
The Rays, who trail Boston by three games in the AL wild-card race, snapped a four-game road losing streak.
Toronto has lost nine of 12 and fell to 3-10 against Tampa Bay this season.
Halladay (13-7), who gave up 12 hits, walked one and struck out eight, has lost four of his past six decisions overall. It was his second straight loss, the second time this season he has dropped two straight. The righty was tagged for four runs and eight hits in five innings against Boston last Wednesday.
Halladay, who sat huddled at his locker with pitching coach Brad Arnsberg as the clubhouse emptied, denied feeling fatigued by a long season and persistent trade rumors leading up to the July 31 deadline.
"It just gets back to making pitches, it really does," he said tersely. "It's that simple. When you don't, they cost you. That's really all I can say."
The seven earned runs are the most Halladay has allowed since he gave up seven to Tampa Bay on June 5, 2007, a game Toronto won 12-11 thanks to a six-run ninth.
Monday's win "basically eradicates that old, bad memory," Maddon joked.
The Rays jumped on Halladay for three in the first. Zobrist hit an RBI single, Pena followed with a sacrifice fly and Pat Burrell singled home a run.
"That first inning kind of set the stage for a wacky game," Niemann said.
Toronto reclaimed the lead in the second, sending 10 men to the plate. Barajas hit a grand slam off Niemann, his 12th homer and second career slam, and Marco Scutaro drove in a run with a fielder's choice.
The Blue Jays made it 6-3 in the third when Randy Ruiz scored on Bartlett's fielding error, but the lead was short-lived.
The Rays took the lead for good in the fifth when Zobrist led off with a walk and Pena followed with a homer to right, his 35th.
Zobrist greeted reliever Brandon League with a leadoff homer to left in the seventh, his 23rd.
Rays outfielder Carl Crawford left the game after three innings with a sore back and was replaced by Aybar.
"We don't believe it's anything serious but we definitely had to get him out of the game," Maddon said. "We'll see what happens but I'm not anticipating that he'll be able to play [Tuesday]."
Pena has as many singles (35) as home runs. ... Toronto activated LHP Scott Downs off the 15-day DL and placed 3B Edwin Encarnacion (strained left hamstring) on the 15-day DL. ... Halladay will get an extra day of rest before his next scheduled start, Sunday at Boston.