Jhonny Peralta connected for his third home run of the spring, a solo shot in the second. An inning later, Matt Holliday blasted his first Grapefruit League home run, and Matt Adams capped a four-run inning with his fourth. In between the homers, Yadier Molina hustled out an RBI triple.
In total, the Cardinals peppered Williams for six earned runs on nine hits. The Astros right-hander looked his best at the end, as he closed out his outing by retiring the side in the fourth. Williams entered the day having given up two earned runs and no home runs in 8 1/3 spring innings.
Holliday, Allen Craig, Molina and Peralta all finished the afternoon with multi-hit games.
The offensive support was plenty sufficient for Joe Kelly, who carried a no-hitter into the sixth of what was his final Grapefruit League start. It wasn't the cleanest of appearances for Kelly, who walked three prior to allowing his first hit.
"I wouldn't say it was great at all, by any means," Kelly said. "There were some [calls] that could have gone either way, but the walks are something I absolutely don't like. I'd rather a guy get on with a hit than walk him. I just wasn't too thrilled about walking those guys."
Houston's Jonathan Villar opened the sixth with a triple and scored on a single by Robbie Grossman. After issuing his fourth walk of the day, Kelly was replaced by Jorge Rondon. Rondon allowed one of the two inherited runners to score.
Kelly, who gave up 10 runs on 15 hits in 13 1/3 Grapefruit League innings, will now have to wait to see if he is awarded the fifth spot in the Cardinals' rotation.
Right-hander Anthony Bass pitched 1 2/3 scoreless innings in relief of Williams. Lefty Raul Valdes also made a scoreless appearance out of the 'pen for the Astros.
Up next: The Cardinals will play the Mets on Monday for the sixth and final time this spring in a 12:10 p.m. CT game at New York's spring home in Port St. Lucie, Fla. Shelby Miller is scheduled to make his fourth Grapefruit League start for the Cardinals. He has given up six earned runs on nine hits in his first 8 2/3 spring innings. Keith Butler, who is competing for the team's final bullpen spot, is scheduled to pitch in relief. The game will be available on MLB.TV
Jenifer Langosch is a reporter for MLB.com. Read her blog, By Gosh, It's Langosch, and follow her on Twitter @LangoschMLB. This story was not subject to the approval of Major League Baseball or its clubs.