The Broncos beat the Minnesota Vikings 21-17 when Elway's pass from the five-yard line with 19 seconds to go was touched twice by defensive back Harlon Barnett in the end zone and knocked back across the goal line by safety Orlando Thomas.
The Denver wide receiver, Ed McCaffrey, snatched the ball out of the air and fell into the end zone for the winning score, capping an 84-yard drive.
It was the 34th time Elway has rallied the Broncos from a fourth-quarter deficit. Elway had his fourth 300-yard game of the season and 32nd of his career.
McCaffrey said: "At first I didn't think the ball was going to carry that far, and I was going to make the tackle. Either someone else tipped it again, or the ball carried and I was able to get my hands on it."
The Broncos coach, Mike Shanahan, said: "McCaffrey made a great catch. You have to stay focused. It's not just luck. This was more to add to John Elway's legend."
In New Jersey, the New York Giants beat the Cowboys 20-6, capitalising on five Dallas turnovers. Tito Wooten ran back 54 yards for a touchdown in a 13-point second quarter after a Michael Irvin catch and fumble. Cowboys' Deion Sanders and full-back Darryl Johnston also had costly fumbles after pass receptions.
At Arizona, Boomer Esiason's third touchdown pass of the period, a 24- yarder to Marcus Dowdell with 14 seconds left, capped a frenetic fourth quarter and gave the Cardinals a 36-30 win over the Philadelphia Eagles. The teams combined for 37 points in the fourth period, including 24 in the last three minutes.
The Eagles and Cowboys, both 7-5, missed a chance to gain ground in the NFC East as Washington lost to the San Francisco 49ers (9-3) in overtime, Jeff Wilkins' fourth field goal settling the game.
At New England, Drew Bledsoe threw for two touchdowns in the first half and Curtis Martin ran for 141 yards as the Patriots beat the Indianapolis Colts 27-13.
In Buffalo, Jim Kelly threw for 176 yards and three scores in the first half before leaving with a hamstring injury and Steve Tasker had a pair of touchdown catches as the Bills overwhelmed the New York Jets 35-10.