Edwards finished 1.7 seconds ahead of his Roush Fenway Racing teammate after passing him with eight laps remaining, claiming his fourth Nationwide victory this season.
Edwards remained on a hot streak, finishing either first or second in the last five Nationwide races while racking up his 33rd career victory and his second at Michigan.
Kyle Busch came up a bit short in his bid to tie Mark Martin's series record of 49 wins, finishing third.
Pole-sitter Paul Menard came in fourth and Trevor Bayne took the fifth spot.
Two-time defending Michigan champ and Rochester Hills native Brad Keselowski finished ninth at his home track.