Trailing by 23 points in the fourth quarter, the Cowboys managed to make things interesting.
Troy Hambrick ran one yard for a touchdown with 11:59 remaining and Reggie Swinton brought back a punt 65 yards for a score with 7:29 left. But following Swinton's touchdown, Campo made a decision that proved costly.
Instead of going for a two-point conversion following Swinton's touchdown, Campo opted for the extra point, leaving Dallas behind, 26-17.
Campo had extra time to think about the conversion after Swinton scored with Peppi Zellner down in the end zone with an injury. After sending quarterback Ryan Leaf out fo the two-point try, he called him back to the sidelines and opted for Jon Hilbert's extra point.
"To make two two-pointers back to back, the percentages were not with us," Campo said. "I thought we had a better chance to take a point come down score again and try the onside kick. In hindsight you might could have made two two-point plays.
"I changed my mind when I looked up. When the decision was made, we had enough time. I felt the defense was playing good at that point."
Denver kicker Jason Elam was glad that Campo decided on the extra point.
"I'm not really sure what their reason was for not going for two," he said. "It was 26-3 and boom, they got a chance to pull within a touchdown and they didn't do it. That was good for us."
Campo may have regretted his decision when he watched Hambrick score on a one-yard run with 1:10 remaining. Denver recovered the ensuing onside kick, sealing the victory.
"We may have played well but we still didn't accomplish our goals," said Hambrick, who was the first Dallas running back to rush for a touchdown this season. "I don't believe in moral victories. While this may have been our first rushing touchdown of the season, it doesn't matter because we still have to sit out here and talk about a loss."
Dallas (2-8) suffered its fourth straight loss and fell to 21-12-1 all-time on Thanksgiving.
Mike Anderson carried 33 times for 118 yards and a touchdown for the Broncos (6-5), who rebounded from a disappointing loss against Washington.
"We played hard today and we had some chances to put them away and we didn't because of dropped balls," Broncos coach Mike Shanahan said. "We're going to have to play at a higher level in order to beat Miami. We could be 7-4. There are a lot of ifs and you can't let up like we did at the end of the game."
"It seemed like we wore them down throughout the game, but they had a lot of fight left in them at the end," Anderson said.
It looked like the Broncos were in control after Elam kicked his fourth field goal of the game, a 28-yarder with 11:13 remaining that gave Denver a seemingly safe 26-3 advantage.
But Ryan Leaf, who struggled for much of the contest, got the Cowboys moving on the ensuing drive.
Leaf had completions 23 yards to Hambrick and 21 yards to Rocket Ismail on a nine-play, 71-yard march. After an interference penalty moved Dallas closer, Hambrick powered over from one yard.
After three straight incompletions by Brian Griese, the Cowboys crawled closer on Swinton's 65-yard return for a score. But Campo's decision left Dallas needing two more scores with 7:29 remaining.
Swinton helped set up the Cowboys' last score, returning a punt 22 yards. Leaf had a 36-yard connection to Ismail and Hambrick scored on another one-yard run with 1:10 left. Hambrick finished with 17 yards on five carries.
Leaf went 16 of 32 for 193 yards and lost a fumble in the first half that led to a Denver touchdown. Ismail had six catches for 84 yards.
Elam and Hilbert traded field goals in the opening quarter before the Broncos opened a lead in the second period.
Anderson scored on a one-yard run with 9:58 left in the half, capping a 12-play, 71-yard drive that gave Denver a 10-3 lead.
On the Cowboys' next possession, Leaf fumbled after getting drilled by linebacker Ian Gold. Linebacker John Mobley scooped up the ball and returned it four yards to the Dallas four.
On the next play, Griese found tight end Dwayne Carswell for a touchdown, extending the lead to 17-3. Griese went 17 of 29 for 171 yards and one interception.
"The offensive line played well. When you run the ball well it makes a big difference," Griese said. "The offense was moving the ball but it could have been better. This team showed a lot of heart coming down here to play on just a few days rest."
In the third quarter, Elam kicked field goals of 50 and 46 yards, providing a 23-3 cushion.
Playing with an injured ankle, Denver's Rod Smith had seven receptions for 81 yards.
Denver suffered another injury late in the first quarter when running back Olandis Gary went down with a fractured left fibula.