Drew Waters hit a go-ahead double during a two-out rally in the eighth inning Monday, and the Kansas City Royals rallied to beat the Cleveland Guardians 6-4 in their series-opening matinee.

The Royals trailed 4-2 when Kyle Isbel drew a leadoff walk against Trevor Stephan. The reliever retired the next two batters before walking MJ Melendez and hitting Nelson Velázquez, loading the bases for Michael Massey, whose own walk off Stephan (6-7) scored a run to get Kansas City within one.

Cleveland brought in Enyel De Los Santos to face Waters, and his double to left gave the Royals the lead. A wild pitch from De Los Santos allowed Massey to score and give Kansas City’s bullpen a cushion.

Jackson Kowar (2-0) earned the win with a scoreless inning. James McArthur handled the ninth for his first big league save.

Gabrial Arias homered and drove in a pair of runs for Cleveland, which squandered another strong start by Cal Quantrill. He allowed two runs on five hits with three strikeouts and no walks in 5 2/3 innings, but was left watching from the dugout as the Guardians wasted a chance to make him 7-0 in 10 appearances against Kansas City.

Royals starter Brady Singer continued his late-season slump. He allowed four runs on eight hits and two walks over six innings, and the right-hander has still not won a game since August 8 in Boston.

The Guardians were coming off a three-game sweep of the AL West-contending Texas Rangers, but they are 72-79 and need to win nine of their last 11 games to avoid only their second losing season under manager Terry Francona.

Bo Naylor’s double and Myles Straw’s sacrifice staked Cleveland to a 2-0 lead. And after the Royals got one back in the third, Gabriel Arias homered in the fourth and added a sacrifice fly in the sixth to push the advantage to 4-1.

Nelson Velázquez, who has been a rare bright spot during a dismal year in Kansas City, homered with two out in the sixth, and the game remained that way until the Royals put together their eighth-inning rally.

José Ramírez stole his 200th career base in the third inning. The five-time All-Star, whose 216th homer Sunday tied him with Carlos Santana and Hal Trosky for fifth-most in club history, became the 11th player in major league history with at least 200 steals and 200 homers through their age-30 season.

The Guardians will start LHP Logan Allen (7-7, 3.60) on Tuesday night. The Royals had yet to announce a starting pitcher.