KANSAS CITY, Mo. -- Ervin Santana finally picked up his 100th career victory, but it took awhile.
Santana claimed his 100th career victory in his seventh attempt as the Kansas City Royals topped the Houston Astros 7-2 on Saturday night.
Santana, who was 0-4 with two no-decisions since an April 27 victory over Cleveland, held the Astros to two runs and five hits in seven innings while striking out six and walking none.
Santana said he plans to give a game ball to his mother.
"It's a dream come true," Santana said. "I'm just very excited for it. It's a long process, a lot of bad outings and a lot of good outings. It feels good to get there."
He lost his shutout in the sixth when Jose Altuve extended his hitting streak to nine games with a two-out single that scored Brandon Barnes, who had doubled.
Chris Carter homered off Santana in the eighth for the other Houston run.
While the Astros (22-41) own the worst record in the American League, they might have bottomed out in the loss, committing three errors and failing to make plays they should have made.
"I think that was probably the worst game we played all year," Astros manager Bo Porter said. "Defensively, we did not play well. Offensively, we didn't play well early. I think our at-bats late in the game were not conducive to us getting back in the game."
The Royals, who are 6-3 since naming George Brett their interim hitting coach, collected 10 hits. Eric Hosmer went 2-for-2, walked twice and scored two runs. Lorenzo Cain drove in two runs, and David Lough and Miguel Tejada each contributed two hits.
The last time the Royals scored seven runs in a game was May 21, also against the Astros. Santana had the worst run support in the American League entering the game, averaging 2.68 runs per nine innings. The Royals scored three or less runs in nine of his first 11 starts.
"A hundred wins, that's unbelievable, man," Hosmer said. "This is a tough league. If you get to 100 wins, that means you've had a long career."
The Royals have won four straight to match their longest winning streak of the season.
Eric Bedard, who was pulled after allowing six runs, eight hits and three walks in 4 2/3 innings, took the loss. He had not allowed more than two runs in any of his previous five starts.
The Royals jumped out to a 2-0 lead in the first. Lough opened the inning with a single and took second when Barnes had trouble picking up the ball in center.
Salvador Perez's one-out single scored Lough. Hosmer's two-out double to the left-field corner scored Perez, but Hosmer was out trying to stretch it into a triple.
The Royals hiked their lead to 5-0 in the fourth with Tejada's run-producing single and Jeff Francoeur's RBI double. The other run scored when Lough rolled into a double play with the bases loaded.
Cain's two-out double in the fifth scored Hosmer and ended Bedard's night.
"Santana pitched good," Bedard said. "He was throwing strikes, getting people off balance and getting outs. On the contrary, when I pitched, they got hits and scored runs. What are you going to do? You can't be good every night."
Santana limited the Astros to one hit -- Matt Dominguez's single with one out in the third -- in the first five innings.
"He just looked dominant at times," Royals manager Ned Yost said.
Barnes left in the bottom of the sixth with left hamstring tightness but said he hopes to play Sunday if it loosens up.
"We just didn't come ready to play," Barnes said. "We made some mental errors and a lot of physical errors. It's just not being ready to play."
NOTES: Alex Gordon, who started the Royals' first 58 games in left field, was not in the lineup. Gordon is 1-for-15 during the homestand and in a 10-for-59 slide. "He's been going hard, playing every day, just due a day off," Yost said. "Every once in a while, everybody gets one." ... Lough shifted from right to left and replaced Gordon at the top of the order. ...The Astros claimed LHP Wade LeBlanc off waivers from the Miami Marlins, where he was 1-5 with a 5.18 ERA in 13 games, including seven starts. ...The Astros optioned RHP Brad Peacock, who allowed one run and two hits in 3 1/3 innings Saturday in relief of Bedard, to Class AAA Oklahoma City after the loss. ...In the 28th round of the Major League Baseball draft, the Royals selected University of Kansas SS Kevin Kuntz, the son of Royals first base coach Rusty Kuntz. ... Altuve, who missed the previous two games with groin discomfort, returned to the Houston lineup.