The Cubs took a four-run lead into the seventh inning, but the Brewers, who had 11 hits, posted a five-spot on RBI hits from Logan Schafer, Pete Orr and Nick Ramirez.
Trailing 7-6, the Cubs loaded the bases in the seventh and went ahead on pinch-hitter Brett Jackson's two-run single. Another run scored on an error by third baseman Orr and a sacrifice fly by Casper Wells.
Kyle Hendricks, the Cubs' Minor League Pitcher of the Year in 2013, gave up two runs on three hits and two walks over three innings in his second Cactus League start.
Matt Szczur singled to lead off the bottom of the first and scored two outs later on Ruggiano's second home run of the spring, connecting off Tyler Thornburg, who was making his first spring start and third appearance. The Brewers tied the game in the second on an RBI double by Jeff Bianchi and sacrifice fly by Martin Maldonado.
Cubs right fielder Ryan Sweeney had to leave the game after chasing Bianchi's double because of soreness in his right knee. Sweeney was listed as day to day.
Javier Baez, the Cubs' top prospect, greeted Zach Duke with a double to open the fifth and then scored on Lake's single to put Chicago ahead, 3-2.
Hiram Burgos walked Luis Valbuena to start the sixth, and he scored on Rizzo's triple. Ruggiano followed with an RBI single.
Up next: Yovani Gallardo faces White Sox ace Chris Sale at Maryvale Baseball Park on Monday at 3:05 p.m. CT in a contest available on MLB.TV and via a Brewers.com exclusive free webcast.
Carrie Muskat is a reporter for MLB.com. She writes a blog, Muskat Ramblings, and you can follow her on Twitter @CarrieMuskat. This story was not subject to the approval of Major League Baseball or its clubs.