The Avalanche spotted the Oilers an early 1-0 lead but then netted the next three goals.
P.A. Parenteau tipped a Ryan Wilson shot at the net with 8 minutes left in the second period to forge a 1-1 tie and McGinn followed 3 1/2 minutes later with a tally off a Matt Duchene feed for the go-ahead score.
Nail Yakupov scored and Devan Dubnyk made 37 saves for Edmonton, which fell for the second time in two contests.
Colorado outshot Edmonton 40-26.