Brian Bixler drove in a career-high three runs on three hits, including his first career homer, and Justin Maxwell and Brian Bogusevic also homered as the Houston Astros held off the Kansas City Royals for a 9-7 win Monday night.

J.A. Happ (5-7) yielded four hits and two runs in 6-plus innings to break a four-game losing streak. It was his first start since allowing 11 hits and eight runs — both career highs — in Houston's 10-0 loss to San Francisco in which Matt Cain threw a perfect game.

Maxwell hit a two-run homer after Bogusevic's solo shot in Houston's five-run eighth inning.

Jonathan Sanchez (1-3) allowed six hits and four runs in six innings in his second start since a month-long stint on the disabled list with tendinitis in his left biceps.

Things got dicey for the Astros in the ninth with a tough outing by closer Brett Myers, who allowed four consecutive singles with one out to make it 9-3. The Royals got another run on a sacrifice fly by pinch-hitter Mitch Maier and Yuniesky Betancourt's bases-loaded single scored two more.

Billy Butler had an RBI single to get Kansas City within 9-7 and bring loud boos from the crowd. The eighth hit of the inning, a single by Jeff Francoeur, chased Myers, bringing in Xavier Cedeno, who retired Mike Moustakas to get his first save.

Bixler's solo homer came on a shot to the Crawford Boxes in left field that tied it 1-1 in the first. Maxwell walked and later scored from first on an error by Sanchez when he badly missed a throw to first base on a pickoff attempt to make it 2-1.

Sanchez plunked Chris Johnson to start Houston's fourth inning. Sanchez's second botched pickoff attempt of the game allowed Johnson to advance to third, and he scored on a one-out single by Chris Snyder to make it 3-1.

After Johnson scored in the fourth, Jose Altuve was hit by a pitch with two outs before a single by Bixler loaded the bases. Maxwell walked to make it 4-1, but Sanchez retired Carlos Lee.

Betancourt tripled with one out in the first and scored on a two-out single by Francoeur to put Kansas City up 1-0.

Happ retired 13 of the next 14 batters before Alex Gordon doubled to start the sixth. Gordon advanced to third on a wild pitch and scored on a groundout by Butler to cut the lead to 4-2.

Bogusevic's first-pitch homer in the eighth inning came off reliever Louis Coleman, who was recalled from Triple-A Omaha on Monday to help reinforce a bullpen that pitched nine innings in a 15-inning win over St. Louis on Sunday.

Snyder walked and Altuve singled before Bixler sent them both home on a double to make it 7-2. Maxwell's eighth homer of the season wrapped up Houston's scoring.

NOTES: Houston signed RHP Lance McCullers on Monday. The 18-year-old was selected with the 41st pick in this year's draft. ... Kansas City placed 2B Chris Getz on the 15-day DL on Monday with a strained left leg. Along with Coleman, they also recalled LHP Tommy Hottovy from Omaha. They optioned RHP Nate Adcock to Omaha to make room on the roster for Hottovy. ... These teams continue the series on Tuesday when Houston's Wandy Rodriguez opposes Luke Hochevar.