Nicky Lopez hit a tiebreaking single in the ninth inning after a long rain delay and the Kansas City Royals averted a three-game sweep, beating the St. Louis Cardinals 6-5 on Sunday.
Dylan Carlson homered for St. Louis, which has lost four of six.
It was 5-all when Hanser Alberto began the Royals ninth with a single off closer Alex Reyes (5-5). Jarrod Dyson put down a bunt that first baseman Paul Goldschmidt threw wildly trying for a forceout, leaving runners at second and third before play was stopped for 2 hours, 10 minutes.
Scott Barlow (4-3) got two outs for the win. Richard Lovelady recorded his first save with a perfect ninth.
St. Louis made it 5-all with a three-run rally in the eighth. Goldschmidt and Nolan Arenado capped the comeback with RBI singles.
Jon Lester, in his second start for the Cardinals since coming over in a trade with Washington, gave up five runs on six hits over 5 1/3 innings. He surrendered five runs in the first inning of his initial start against Atlanta on Tuesday.
J.A. Happ (5-6, 6.62) will take on Pittsburgh LHP Steven Brault (0-0, 2.25) in the first of a three-game set on Tuesday in Pittsburgh.