ANAHEIM -- Jered Weaver admitted his season has been a little "like a roller-coaster ride."

After a couple of rough starts, Weaver found himself on the top of the coaster this time as he tied a career high by pitching eight strong innings while giving up just one run on four hits in the Angels' 6-1 win against the Rays on Tuesday night in front of 37,610 fans at Angel Stadium.

Weaver struck out five batters and walked two while picking up his sixth win of the season. Weaver acknowledged that he has been a little inconsistent this year, but it's something he's looking to change.

"I'm trying to throw up zeros and try and make adjustments. I felt real good tonight," Weaver said.

Weaver has allowed four runs or more in six of his 14 starts, but Tuesday was the seventh time he allowed two runs or fewer. Even with his up-and-down stat lines, Angels manager Mike Scioscia refused to call Weaver inconsistent this season.

"There has been some starts where he's not as crisp and he's had to battle, but I think he gives us a chance to win," Scioscia said. "There's been a couple of rough starts, sure, but I don't think there's been a couple good, couple bad. I think he's been consistent."

Weaver was certainly consistent against the Rays. He threw 21 of 27 first pitches for a strike and allowed just two runners to advance past first base until allowing a two-out home run to Gabe Gross in the eighth inning. It was part of an aggressive game plan set forth by pitching coach Mike Butcher.

"When he goes out there and is going as hard as he can as long as he can, his command is better," Butcher said. "It's just a mind-set of going hard and strong. You don't have to pace yourself or hold anything back."

By not pacing himself, Weaver pitched eight innings for the third time in his three-year career and threw 110 pitches, with 70 of them for strikes.

Weaver had the luxury of pitching with the lead for seven of his eight innings, as the Angels got on Rays starter James Shields early by scoring four runs in the first inning, including a two-run home run by Garret Anderson.

"The boys putting up four in the first took a lot of weight off my shoulders," Weaver said. "I've always been good pitching with a lead like that."

Shields, who threw a one-hit shutout in his last start against the Angels, gave up six hits in the first inning alone.

Anderson's sixth home run of the season came on an 0-1 pitch with Maicer Izturis aboard first with one out. After the homer, the Angels strung together singles by Vladimir Guerrero and Torii Hunter before Howie Kendrick and Jeff Mathis hit an RBI double and RBI single, respectively.

Shields settled down after the rough start but in the fifth inning allowed a two-run homer by Guerrero with Izturis on first. Shields had given up just one hit in the previous three frames but allowed a one-out single to Izturis and a two-out home run to Guerrero, his ninth of the season.

Guerrero went for 2-for-4 and is 10-for-21 this month after hitting .219 in May.

"He's comfortable in the box and his knee feels better," Sciosia said. "He's seeing the ball great."

Shields pitched a complete game but took the loss, as he allowed six earned runs on 10 hits while striking out nine and walking none.

The six runs scored by the Angels were the most since scoring 10 runs against the Dodgers on May 18, which was 20 games ago. The Angels, however, were 13-6 since then in games they scored fewer than six.

"You just need one more run than the other team," Scioscia said with a laugh. "Six runs was certainly good tonight against a tough pitcher."