KANSAS CITY, Mo. -- This is the Gil Meche the Kansas City Royals thought they were getting with the biggest free-agent contract in team history.
The right-hander, who won nine games last season while getting little run support after signing a $55 million, five-year deal, earned his 10th win Monday night in a 4-3 victory over Boston.
Meche (10-9) struck out nine in six innings to win his fourth straight outing and improve to 4-0 in five home starts against the Red Sox.
"When your arm feels good, good things happen," said Meche, who is 7-1 with a 2.66 ERA in his last 11 starts. "I've just been relying on my fastball and my curveball pretty much, and using my other two pitches every once in a while."
Alex Gordon homered and the surging Royals held off threats in the eighth and ninth to win for the seventh time in eight games.
Dustin Pedroia had a first-inning double and two singles, extending his road hitting streak to 25 games -- the most by a Boston player since Hall of Famer Tris Speaker 95 years ago.
"That's impressive," Meche said. "In the first inning he got a good fastball up and away and he pounded it to right. It's not easy to play on the road. That's pretty good."
Joakim Soria allowed a run in the ninth before Sean Casey flied out with runners at second and third to end it. With runners at first and third in the eighth, Ron Mahay came out of the bullpen and struck out Jason Varitek after falling behind 3-0.
"We're close friends off the field. I'll talk to him tonight," Mahay said. "He was able to foul off some pretty good pitches, and I got him."
Varitek thought he walked on the first 3-0 delivery.
"Then I fouled off a bunch of pitches," he said. "The last one was up and off the plate a little and I swung through it."
Clay Buchholz (2-7) gave up four runs and seven hits in six innings in the sweltering, muggy heat. The temperature at gametime was 96 degrees, with a heat index of 103.
"Meche really settled in," Boston manager Terry Francona said. "He started throwing his breaking ball and he had enough on his fastball. He made some pretty good pitches."
Pedroia's streak, which started May 31 at Baltimore, is Boston's longest since Speaker hit in 29 straight road games in 1913. Nomar Garciaparra had a 24-game run in 1998 for the Red Sox.
More recently, Luis Castillo had a 27-game road streak for Florida in 2002. Johnny Temple hit in 33 straight away games for Cleveland from 1960-61.
Pedroia was 3-for-4 and raised his average to .401 over the last 43 games.
"He's really a tough out," Meche said.
The Red Sox scored twice in the first inning, then were shut out until the ninth.
Coco Crisp and Pedroia singled, and Kevin Youkilis was intentionally walked to load the bases with two outs in the ninth. Jason Bay hit a slow roller wide of third that went for an RBI infield single when Gordon and shortstop Tony Pena Jr. collided trying to pick up the ball.
But Soria earned his 32nd save in 34 opportunities when Casey flied out to right.
"I think I should have charged it," Gordon said. "I kind of sat back on it and (Pena) was aggressive. It fell in that little spot where we both wanted to make that last out and we should have talked more. But Soria came up big at the end."
Buchholz breezed through the first two innings on 18 pitches but threw 33 in a three-run third after Gordon's homer cut Boston's lead to 2-1 in the second.
Mike Aviles and Esteban German singled with one out in the third, and a wild pitch advanced the runners. Mark Teahen tied it with an RBI single.
Billy Butler's sacrifice fly made it 3-2, and then with the bases loaded Buchholz grazed John Buck with a pitch, forcing in Kansas City's fourth run.
Meche gave up two runs and four hits. He also issued a season-high five walks.
"They were swinging at a lot of pitches up in the zone and luckily that's kind of where my release point was today and I got away with it," he said.
The only walk that cost him was in the first. After J.D. Drew walked leading off the game, he went to third on Pedroia's double and scored on David Ortiz's RBI groundout. Kevin Youkilis made it 2-0 with an RBI double.
Aviles was named AL co-player of the week after hitting .577 with seven runs, three doubles, a triple, two homers and five RBI. ... Boston's Jon Lester was AL pitcher of the month for July. He went 3-0 with a 2.05 ERA in four starts and had the lowest ERA of any AL pitcher with at least 25 innings. Lester no-hit the Royals in Boston in May but will not face them in this three-game series. ... Boston 3B Mike Lowell had an injection for a sore right hip flexor and missed the game.