Marshall's catch, his first big play of the game, proved to be too much to overcome as the Cowboys couldn't capitalize on offense with 1:46 seconds if the game.
He grabbed the ball off the top of Terrence Newman's helmet at the 25-yard line, then avoided three more tacklers as he cut back across the field to estbalish Denver's first lead of the game.
Tony Romo then completed a fourth-and-3 pass to Sam Hurd for a 53-yards to the Denver 20-yard line with less than a minute left to play, but a fourth down pass on a quick slant in the end zone fell incomplete.
The pass was intended for Sam Hurd as he battled Champ Bailey for the ball.
"They're good all over," Romo said. "I understand Champ's good. It's questionable. I think you could go either way on that call. It's a bang-bang play and the corner's always driving on the ball. If he gets to the ball early, that's part of the game. Those are always going to be contested throws."
Romo seemed off for much of the game, thanks in part to a fierce Denver pass rush that kept him off-balance. The Broncos registered five sacks by the end of the game, including two by Elvis Dumervil and harassed Romo all afternoon.
Romo also had two costly turnovers - one that directly resulted in a Denver touchdown.
The Broncos were trailing 10-0 in the second quarter when safety Renaldo Hill forced a fumble by Romo that linebacker D.J. Williams recovered inside the Dallas 10.
Moments later, Kyle Orton threw a five-yard touchdown pass to rookie RB Knowshown Moreno pulling Denver to 10-7.
Romo also threw an interception to Champ Bailey inside the Denver five yard line in the second half on third down.
Dallas built an early 10-0 lead on Nick Folk's 49-yard field goal and Marion Barber's 1-yard run.
Barber, who was not expected to be a big factor Sunday because of an injured quad, actually started before sitting out most of the second half.
Dallas returns to action next weekend at Kansas City before its only bye week of the season the following weekend.