SAN DIEGO (AP) -- After a miserable first two months, Ian Kennedy has been a different pitcher.
Kennedy turned in another outstanding performance, but the bullpen couldn't hold the lead and Mitch Moreland's RBI double in the 10th inning lifted the surging Texas Rangers to a 4-3 win over the San Diego Padres on Tuesday night.
After Kennedy saw Joaquin Benoit squander a 3-2 lead in the eighth inning, Moreland hit a line drive down the right-field line off Bud Norris (1-1) in the 10th to score Elvis Andrus, who had reached on a one-out single.
More from FoxSports
Almost lost in the bullpen's failures was another brilliant outing by Kennedy.
"It goes unnoticed how great he was," Padres interim manager Pat Murphy said. "Great performance, great performance battling their No. 1."
Kennedy did outpitch Padres nemesis Cole Hamels, a San Diego native.
Kennedy tied his career high with 12 strikeouts, including the final five batters he faced. He allowed two runs and five hits with two walks in seven innings.
"They are a good team, a great hitting team," Kennedy said. "You try to navigate through that lineup. I caught myself one time thinking there is no break in this lineup."
After going 2-5 with a 7.15 ERA in the first two months of the season, Kennedy is 6-7 with a 2.64 ERA in 17 starts since June 1.
Hamels, who is 9-2 against the Padres in 17 career starts, gave up three runs and eight hits over seven innings.
The Rangers cut first-place Houston's lead in the AL West to two games. The Astros lost 8-3 to Seattle.
Texas, which has won nine of 12 games, retained its one-game lead over Minnesota for the second AL wild-card berth.
Sam Dyson (2-1) pitched two innings as the Rangers (70-62) went a season-high eight games over .500.
"It's been a good stretch and we've got a ways to go," Texas manager Jeff Banister said. "We've got to continue to play well and be on top of our game."
The Padres have lost seven of 10 games.
San Diego's Craig Kimbrel escaped a one-out, bases-loaded jam in the ninth by striking out pinch-hitter Mike Napoli and Adrian Beltre.
Beltre tied the game at 3-all with a sacrifice fly off Benoit in the eighth.
Clint Barmes drove in three runs for San Diego, including a two-run double in the fourth inning off Hamels. Barmes put the Padres ahead 3-2 in the sixth with a run-scoring groundout.
Beltre had an RBI double in the first and Chris Gimenez hit a solo homer for the Rangers.
Hamels made his 300th career start and has 1,895 strikeouts, third highest among active pitchers behind Felix Hernandez (2,032) and Justin Verlander (1,898).
Padres: 1B Yonder Alonso (sprained lower back) and C Derek Norris (sore left arm) were out of the starting lineup. Alonso aggravated his existing back condition Tuesday night, while Norris' situation was the result of a collision with Beltre at the plate on Tuesday. ... RHP Shawn Kelley (right forearm strain), who left Tuesday's game, is expected to be out for 2 to 3 days.
Rangers: After a day off, LHP Martin Perez (2-3, 5.16 ERA) will start Friday night in the opener of a three-game set at the Los Angeles Angels. Perez was 2-1 with a 3.13 ERA in five August starts as he lowered his overall ERA from 10.50 to 5.16.
Padres: RHP Colin Rea (2-2, 5.95 ERA) makes his fifth career start in the opener of a four-game series against the visiting Los Angeles Dodgers on Thursday. After winning his first two starts, the rookie has been pounded in his last two starts, giving up eight earned runs in nine innings.