ARLINGTON -- After a forgettable July, Frank Catalanotto is as hot as the August weather.

The Rangers left fielder delivered a pivotal three-run homer and set a career high with five RBIs in a 7-4 victory over the Devil Rays on Friday night at Rangers Ballpark in Arlington.

Catalanotto drove in only three runs all of last month, but was coming around with four RBIs in six games this month. Going back even further, he was hitting .230 before the All-Star break, but .279 since.

"I knew it was going to come eventually," Catalanotto said. "I'm feeling better here in the second half. Hopefully I can keep it going."

The Rangers were trailing, 3-2, in the fifth inning when Catalanotto deposited a 2-2 pitch from Tampa Bay rookie Andy Sonnanstine over the right-field wall. After the Rays got a run back in the top of the sixth, Catalanotto gave Texas breathing room with a two-run single in the bottom half.

"He's a professional hitter," Rangers manager Ron Washington told the Associated Press. "It took him a while to get going. It's nice to see him swinging the bat well."

Catalanotto also attributed his resurgence to more regular playing time.

"The more you're in there, the more you're comfortable and confident," Catalanotto said.

The Rangers took a two-run lead in the third on Michael Young's double to right. The Devil Rays responded in the fifth by scoring three unearned runs off Rangers starter Brandon McCarthy. McCarthy left after 4 2/3 innings, allowing six hits with three strikeouts and three walks.

It was the seventh time this season McCarthy, who made his 19th start, has not made it through five innings.

"They're a young and inexperienced team, but those guys can swing the bat," Washington said. "They made [McCarthy] work. We had to shut them down and that's why we took him out."

C.J. Wilson saved his fourth game of the season, preserving the three-run lead in the sixth and seventh that was provided by Catalanotto.