One bad pitch, plus a lack of cloud cover, combined to cause trouble for Carlos Villanueva.

Nelson Cruz hit a two-run homer, Joe Nathan converted his team-record 22nd straight save opportunity and the Texas Rangers beat Villanueva and the Toronto Blue Jays 2-1 Saturday.

Villanueva (6-3) allowed two runs and four hits in 6 2-3 innings but lost his third straight decision.

"You can't say enough about the way Carlos continues to pitch," Blue Jays manager John Farrell said.

A fly ball that rookie outfielder Anthony Gose lost in the bright, cloudless sky burned Villanueva in the fifth. Adrian Beltre's high fly fell in for a ground rule double, and Cruz hit the next pitch to left field for his 19th homer.

"It was a changeup," Cruz said. "I was looking for something up, something I could drive. I think it was one of the few mistakes (Villanueva) made."

Villanueva didn't blame Gose for failing to make the play on Beltre's hit.

"You can't really say that much," Villanueva said. "He's trying his best out there. I know he feels bad enough."

The soft-tossing Villanueva, who walked one and struck out four, earned praise from Rangers manager Ron Washington.

"I don't know how he gets away with that stuff but he does," Washington said. "He's a change speeds master and he's been doing it for a long time."

Toronto lost for the 15th time in 20 games despite limiting the AL West-leading Rangers to five hits.

"Tough ballgame," Farrell said.

Toronto opened the scoring in the third when Gose drew a one-out walk, stole second, moved to third on a balk and came home as Adeiny Hechavarria singled through a drawn-in infield.

Roy Oswalt started for Texas in place of Ryan Dempster, who missed his regular turn because of personal issues. Oswalt allowed one run and two hits in 4 2-3 innings, striking out five, walking two and balking twice in his first start since July 30.

Robbie Ross worked 1 1-3 innings, Tanner Scheppers got an out and Michael Kirkman (1-2) escaped a bases-loaded jam in the seventh. Adams pitched the eighth and Nathan closed it out for his 24th save in 25 chances.

"The bullpen has been throwing the ball really well," Adams said. "We've been keeping the boys in the game and giving us a chance to win."

Nathan broke the Rangers mark he shared with Francisco Cordero, who was successful on 21 chances in a row in 2004. Nathan was the sixth pitcher of the game for Texas.

The Blue Jays loaded the bases with a trio of singles in the sixth, but Ross fanned Gose to end a 10-pitch at bat and maintain the one-run lead.

Toronto threatened again in the seventh against Scheppers. Hechavarria led off with a double and Rajai Davis singled and stole second before Colby Rasmus popped out. Edwin Encarnacion was intentionally walked to load the bases, and Kirkman relieved Scheppers. Kirkman escaped the jam by getting David Cooper and Yunel Escobar to fly out.

"I can't say enough about what Kirkman did," Washington said. "Those were huge outs he came in and got there, especially in the situation."

Escobar argued with home plate umpire Jeff Nelson after taking his position for the top of the eighth and was ejected for the first time this season. Mike McCoy came on to play third and Hechavarria moved from third to shortstop.

NOTES: Kirkman has not allowed a run in any of his past five outings. ... Toronto OF Jose Bautista (left wrist) took batting practice before the game and will do so again Sunday before beginning a minor league rehab assignment. Farrell said Bautista could return as soon as Aug. 24, when the Blue Jays begin a three-game series in Baltimore. ... Toronto 3B Brett Lawrie (strained right ribcage) left his minor league rehab game after one at-bat because the field was considered an injury risk, a Blue Jays representative said.