TORONTO -- Blue Jays outfielder Melky Cabrera was already hitting well before the All-Star break. He has been even better since his return.
Cabrera hit a tiebreaking homer in the seventh inning and finished with three RBI in Toronto's 9-6 win over the Texas Rangers 9-6 on Sunday.
''The All-Star break did him wonders,'' Blue Jays manager John Gibbons said of Cabrera. ''He just needed to refresh a little bit. His hand speed, bat speed looks a little bit better.''
Cabrera had three hits for the second straight day, giving him 13 multi-hit efforts in the past 28 games, as the Blue Jays won their first series since sweeping a two-game set against Milwaukee on July 1-2.
''Cabrera is a good hitter,'' Rangers manager Ron Washington said.
Cabrera also showed he is no slouch with the glove, making a great catch on a sinking liner by Adam Rosales in the sixth to keep runners at first and second.
The decisive homer came on the third pitch Cabrera saw from right-hander Neftali Feliz (0-1), handing slumping Texas its 13th loss in 15 road games.
''I tried to throw my changeup down and away, and I missed in the middle,'' Feliz said.
The Rangers have won just four of their past 28 overall and are a major league-worst 39-59. It is the first time Texas is 20 games under .500 since finishing the 2003 season 71-91.
''Every time we scored, we just couldn't stop them,'' Washington said.
Todd Redmond (1-4) worked one inning for the win. Redmond left after Geovany Soto's leadoff double in the eighth, but Brett Cecil retired the next three batters.
Toronto sealed it with a three-run eighth against Matt West. Munenori Kawasaki singled home a run with the bases loaded, and Cabrera followed with a two-run hit to center.
Casey Janssen, unavailable Saturday because of illness, gave up an RBI single to Chris Gimenez in the ninth and was replaced by Aaron Loup after Jake Smolinski's hit. Loup retired pinch-hitter J.P Arencibia for his second straight save and fourth in seven chances.
Dioner Navarro opened the scoring with a leadoff homer in the second, and Jose Reyes added a two-run single to give Toronto a 3-0 lead. Texas answered in the third on a two-run single by Daniel Robertson, but Colby Rasmus made it 4-2 with an RBI single in the bottom half.
Dan Johnson drove in the fifth Toronto run with a sacrifice fly in the fifth, but left-hander Mark Buehrle couldn't hold the lead.
With two outs and the bases loaded in the sixth, Buehrle slipped and fell while trying to deliver a pitch to Robertson and was called for a balk, making it 5-3.
''I was falling down and I was more worried about not getting hurt,'' said Buehrle, who ended up on his knees. ''It's embarrassing.''
Robertson promptly lined a tying single up the middle. Robertson went 2 for 5 with a career-high four RBI.
Buehrle, who allowed five runs and eight hits in six innings, has gone seven weeks since beating Kansas City on June 1, a victory that made him the first 10-game winner in the majors. He is 0-5 in his past eight starts.
''It's too bad he hasn't had a win in so long,'' Gibbons said. ''He's definitely pitched well enough to have a few more under his belt. There's no justice in this business.''
Rangers right-hander Nick Tepesch allowed five runs and nine hits in 4 1/3 innings. He walked two and struck out none.
Adrian Beltre started at DH for the Rangers. OF Alex Rios, who left Saturday's game with a sprained right ankle, didn't play. Washington said Rios will likely sit out again Monday. ... Blue Jays 3B Brett Lawrie (fractured right finger) took ground balls and threw before the game. There is no timetable for his return. ... The roof was open when the game began but started to close in the bottom of the sixth. ... Toronto begins a four-game series against Boston on Monday. Red Sox RHP John Lackey (10-6) faces Blue Jays RHP Drew Hutchison (6-8). ... The Rangers continue their trip with a four-game series against the New York Yankees. Texas RHP Miles Mikolas (0-2) faces Yankees RHP Shane Greene (2-0).