The game-winning play came after Adrian Peterson's 11-yard scoring run with 5:40 remaining had given the Vikings a 23-20 lead.
Romo completed 34-for-51 passes for 337 yards with two touchdowns and an interception for the NFC East-leading Cowboys (5-4), who shook off last week's tough loss to Detroit.
Jason Witten gained 102 yards and caught a scoring pass on eight receptions.
Peterson finished with 140 rushing yards on 25 carries and added three catches for 37 yards as Minnesota (1-7) dropped a fourth straight.
Vikings quarterback Christian Ponder threw for a touchdown and ran for a score.