Caps catcher Drew Longley broke the deadlock in the seventh by lifting a deep fly ball double into right field and bringing home Cole Bauml, who singled earlier. Lansing tied the score at 2-2 in the eighth inning.
West Michigan responded in the bottom of the eighth. Singles by Chad Sedio, David Gonzalez and Anthony Pereira loaded the bases, then Josh Lester greeted Lugnuts reliever Dan Lietz with a slow rolling grounder to first baseman Christian Williams, who stepped on first base for the out, but his ensuing throw to home proved late, allowing Sedio to score the go-ahead run.
Austin Athmann followed with a two-run single to complete the scoring.
The Whitecaps won their season-best eighth in a row and improved their overall record to 49-22 and their second-half record to 4-0.
The Whitecaps will host the Dayton Dragons for a four-game series beginning Monday night at 7 p.m.