TORONTO -- Going into Monday's game, the Rays knew runs would be hard to come by with Blue Jays ace Roy Halladay on the mound. Right-hander Jeff Niemann would have to pitch one of the best games of his young career and hope that whatever offense Tampa Bay could get off Halladay would be enough.

That's exactly what Niemann did, pitching into the eighth inning in the Rays' 4-1 victory over the Jays at Rogers Centre. Coming off a poor start and a six-day layoff -- Scott Kazmir started in place of Niemann after being activated from the disabled list -- Niemann shut down Toronto, extending Tampa Bay's winning streak to six games.

"Niemann pitched a great game today," Rays manager Joe Maddon said. "He had his curveball working against the lefties, and whenever he does that, he pitches well. He just had great composure throughout. You've got to pitch well to beat Doc. You've just got to pitch well, and we did, and that's why we came out on top. He was really good."

Niemann has had his share of ups and downs this season, as the rookie adjusts to life as a big league starter. On four occasions he hasn't even made it out of the third inning. At times, he has shown the ability to dominate -- as he did in a complete game two-hit shutout against the Royals in early June -- with a mid-90s fastball with late life, and a curveball almost 20 mph slower that makes the heater look even harder by comparison.

"He's still a young man. He's still going through all of that," Maddon said. "I gauge how the performance is going to go on two things: if he can get his fastball down and if he can throw his curveball for a strike. If you're seeing those two things, he's probably going to be in the game late."

In his previous outing, Niemann pitched only four innings, as the rookie was pulled after struggling with his command. He walked four batters in the abbreviated outing, allowing two runs before being replaced.

On Monday, though, his command was spot-on, as Niemann limited Toronto to four hits and two walks over 7 1/3 innings -- just the third time this season he's pitched into the eighth. Only one Jays hit went for extra bases -- a double by Scott Rolen in the second inning.

"I was throwing strikes with both [the curve and fastball] and that's the most important thing -- not wasting pitches," Niemann said.

On the Jays' side, the difference between Niemann's start on Monday and some of his rough outings this season did not go unnoticed.

"You look at tape on the guy and he was all over the place," Blue Jays manager Cito Gaston said. "He threw strikes tonight and got his breaking ball over. That's the key -- throwing strikes. That's what he did."

Niemann didn't overpower the Jays, as his lone strikeout of the night came in the third as he blew a 96-mph fastball by shortstop Marco Scutaro, who was caught looking. That didn't bother Maddon at all.

"We want our guys to pitch to contact because we do play good defense," Maddon said. "I'm not worried about strikeouts. They hit a lot of fly balls on him, I thought. But he had a lot of late life on his pitches. I saw a lot of late life on the fastball, and some really good depth on the curveball and that's pretty good stuff."

The Rays' offense was able to take a bit of pressure off Niemann by getting an early lead against Halladay -- never an easy task.

Tampa Bay opened the scoring in the third, when center fielder B.J. Upton drew a walk to lead off the inning. Left fielder Carl Crawford drilled a 1-1 offering from Halladay deep into the second deck in right field, giving the Rays a 2-0 advantage.

"It's huge, especially against a guy like Halladay," Niemann said of the two-run cushion. "You get the early run, it kind of takes the pressure off you that much more -- just go out there and pitch and not really try to be so fine with things."

Halladay stymied the Rays through the rest of his outing, allowing only one more baserunner after the third, but left after only six innings.

It was Halladay's first start since missing more than two weeks with a groin strain. Despite the layoff, the Jays' ace still looked sharp.

"Thank God he's been off for two weeks, because they would have left him in there longer," Maddon said. "He would've probably finished that thing off. I'm sure they had to be worried about conditioning and the potential to hurt the arm after such a long layoff, so we had that working in our favor tonight."

Halladay left after throwing only 88 pitches, allowing the Rays to tack on a pair of runs against reliever Jeremy Accardo in the seventh inning. A home run by Pat Burrell and a single by Dioner Navarro that scored Jason Bartlett gave Tampa Bay a 4-0 lead.

The Jays scored their only run in the eighth, when Niemann walked Jose Bautista, who came around to score on a ground out and a base hit.

Maddon took Niemann out of the game after the run scored, bringing an end to a start that represents a step forward as the rookie works toward becoming an effective Major League starter on a regular basis.

"It's still a work in progress as far as beeing consistently good, but I feel like we're making strides," Niemann said. "Even in the bad games we learn stuff."

Niemann's teammates have confidence that the right-hander will keep on learning as his rookie campaign goes on.

"I think he's just kind of still in a learning curve," Upton said. "Things are a lot different in your first year -- trying to figure things out. I think it's definitely coming, but I think we all know it's going to take time.

"I think we'll continue to see him get better as the season goes on."