Denver quarterback Brock Osweiler ran for one touchdown and threw for two more Thursday night to lead the Broncos past Indianapolis 25-13.
Osweiler replaced the injured Trevor Siemian in the first quarter and played his best football of the season.
The Broncos (5-10) needed it. After ending an eight-game losing streak Sunday, they picked up their first road win since Dec. 4, 2016.
For Indianapolis (3-11), it was more of the same. The Colts blew an early 10-0 lead and have now lost five in a row, the longest skid of coach Chuck Pagano's six-year tenure.
Osweiler looked more like the player Denver envisioned when it drafted him in the second round in 2012, and the guy who filled in for an injured Peyton Manning during the Broncos' 2015 Super Bowl season.
He was 12 of 17 with 194 yards and took the Broncos on three second-half scoring drives - giving the league's top-rated defense more than enough points.
C.J. Anderson ran 30 times for a season high 158 yards.
But it was a rugged night.
Siemian went to the locker room with an injured left shoulder after Barkevious Mingo drove him into the ground on the Broncos' second series. Siemian did not return and the Broncos had no other immediate details on the injury.
The scariest moment came with 14:01 left in the second quarter when Denver linebacker Deiontrez Mount appeared to make helmet-to-helmet contact with Colts tight end Brandon Williams on a punt. Williams was knocked over backward and stayed on the ground as players from both teams dropped to their knees while trainers and doctors strapped him to a backboard and removed his facemask.
When he was lifted onto a golf cart, Williams' teammates came over to offer support. Colts officials said Williams had movement in his extremities and had suffered a head injury. He also did not return.
Otherwise, the game between two non-playoff teams went pretty much as expected.
After Colts quarterback Jacoby Brissett scored on a 7-yard run and Adam Vinatieri made it 10-0 with a 45-yard field goal midway through the second quarter, all Indy could muster was a 39-yard field goal early in the third.
Osweiler, meanwhile, got the Broncos in sync.
He capped a 75-yard drive with an 18-yard TD run to make it 10-7 at halftime, then gave Denver the lead with a 22-yard TD pass to Cody Latimer 4:16 left in the third quarter. Osweiler added a 54-yard TD pass to Jeff Heuerman and a 2-point conversion pass to Latimer to make 22-13 and Brandon McManus sealed the victory with a 40-yard field goal.
Broncos: Osweiler's TD pass to Heuerman ended an 18-game regular-season streak without a 50-yard completion and a 13-game regular season streak without a TD pass of 40 more yards. ... Emanuel Sanders had seven catches for 68 yards and Demaryius Thomas had five catches for 69 yards.
Colts: Brissett was 17 of 30 with 158 yards. ... Indy had 228 yards in offense. ... T.Y. Hilton caught five passes for 41 yards. ... Indy fell to 2-5 at home and will have its first losing season at home in Pagano's tenure.
Colts running back Frank Gore added to his milestone career on a night it looked like he might not even finish.
The 34-year-old running back left during the second quarter with a knee injury.
When he returned for the start of the second half, he quickly became the second player in league history to post 1,000 yards from scrimmage in 12 consecutive seasons. Only Emmitt Smith (13) has more.
Gore finished with 10 carries for 31 yards and remains fifth on the NFL's career rushing list.
Broncos: With the exception of Siemian, Denver stayed relatively healthy. The only other significant concern came was an ankle injury that didn't allow Sanders to finish the game.
Colts: In addition to Williams, the Colts lost right tackle Denzelle Good (knee) and linebackers Jeremiah George (neck) and Jon Bostic (knee) in the second half.
Broncos: Play their road finale Dec. 24 at Washington.
Colts: Head to Baltimore on Dec. 23 in their final road game of the season.