Junior right-hander Mick VanVossen allowed one unearned run in six innings in a winning effort, while sophomore left-hander Anthony Misiewicz and redshirt junior left-hander Jeff Kinley held the Fighting Illini (31-20, 17-7) scoreless for the remaining three innings.
Redshirt junior right-hander Drasen Johnson pitched seven innings for Illinois and recorded the loss, allowing five hits and two runs.
The Spartans will face the winner of Ohio State-Nebraska on Thursday at 6 p.m. on Big Ten Network.
Gibson got the Spartans on the scoreboard early, hitting his second homer of the season to right field for a single RBI. Illinois stranded two on base at the end of the first.
Each team left two on base concluding the second inning, but the Fighting Illini responded at the top of the third. Freshman infielder Matthew James reached second base following an error at shortstop, and then advanced to third following a wild pitch by VanVossen.
The bases continued to fill when redshirt junior infielder Reid Roper was hit by a pitch, and then was walked to second following another wild pitch by VanVossen.
VanVossen walked consecutive bases to knot the score, 1-1. Junior outfielder Casey Fletcher was walked to first, and freshman shortstop Ryne Roper was then walked, scoring James for an unearned run.
Following a scoreless fourth inning, MSU took a 2-1 lead in the fifth for the win. Sophomore infielder Justin Hovis singled to third base, and Gibson followed to advance Hovis to second after a throwing error.
Junior outfielder Anthony Cheky hit a single bunt to load the bases, setting up a scoring opportunity for junior catcher Blaise Salter.
Salter grounded into a double play, but Hovis reached home to give the Spartans a 2-1 lead.
Misiewicz and Kinley did their job as relievers, allowing three hits and zero runs for the rest of the game. Kinley earned the 18th save of his career, tying with Tony Wieber for most in Spartan history.