Gustafsson darted into the slot to pounce on a loose puck before sliding it past Toronto goaltender Billy Christopolus just under the nine minute mark.
The win was their second straight over the Marlies.
Jonathan Kovacevic and Bobby Lynch also scored for Manitoba.
Nikolas Jones had a goal and an assist for the Moose.
Mikhail Berdin stopped 28 shots for Manitoba, who moved to 36-20-4-2.
Nick Robertson Billy Christopolus made 24 saves for Toronto, who dropped to 32-25-3-1.
Toronto got on the board first 10:22 into the period when Nick Robertson finished off a three-way passing play and snapped a wrister past Moose goaltender Mikhail Berdin, beating him just inside the right post.
The goal was his 10th of the season.
With Joseph Duszak off for a face-off violation, Nicolas Jones tied the game at 15:07 after C.J. Suess skated the puck into the Toronto end and hit him with a crisp pass in the slot.
Jones beat Christopolus with a high wrister, glove side to make it 1-1.
Bobby McMann scored on a breakaway 19:07 beating Berdin with a backhand deke to give Toronto a 2-1 lead.
The goal was his 19th of the season.
Jonathan Kovacevic tied it up 8:12 into the second period, converting a Dean Stewart feed past Christopolus to make it 2-2.
Chad Chrys scored 39 seconds later for Toronto to make it 3-2.
Bobby Lynch's 7th goal of the season for Manitoba tied it up at 14:41 of the second period.
With Joseph Duszak off for delay of game David Gustaffsson gave the Moose a 4-3 lead 8:59 into the third off a goal mouth scramble when he darted to the front of the net to pounce on a loose puck before shovelling it past Christopolus.
The goal was his 14th of the season.
SHOTS-TORONTO 31 MANITOBA 28