Heaton, on loan from Manchester United, raced from his line to the edge of the area to deal with a long ball out of the Vale defence but badly misjudged the bounce. The ball flew over the stranded keeper and Cornes shot gratefully into the empty net for his fourth goal of the season.
Swindon played with plenty of confidence early in the match and did not look like a team struggling at the foot of the table.
They deserved their lead in the 25th minute as a result of smooth piece for football down the right between Michael Pook and Neale McDermott.
Rory Fallon was on hand to turn the ball over the line for his seventh goal of the season but Swindon could not maintain their bright early form.
Vale, for much of the first half on the defensive, were level in the last minute before the break. Mickey Bell took a free-kick 25 yards out and it struck the defensive wall before lopping into the net and wrongfooting the luckless Heaton.
Vale were on top in the second half, making light of the loss through injury of five key players.
Once Cornes had scored Swindon struggled to get back into the match and Mark Goodlad in the Vale goal had few moments of concern.
Pook, Colin Heath and Jerel Ifill were all booked for fouls for Swindon, while Vale had yellow cards shown to Danny Sonner, Billy Paynter and Gary Mulligan as they held on for their sixth win of the league season.