Brock Osweiler and the Denver Broncos exorcised some demons in Indianapolis on Thursday night, defeating the Colts 25-13.

Osweiler, who failed in his starting role from Weeks 9 through 11, led Denver to a comeback victory in relief of starter Trevor Siemian, who left the game in the first half with a shoulder injury. Although Siemian will technically be credited with the “QB win,” it was all Osweiler.

The 2012 Broncos draft pick, back for a second stint in Denver, ran for a touchdown and passed for two in a game that had fans remembering his strong performances in relief of Peyton Manning during the 2015 Super Bowl season. Osweiler finished the night 12-for-17 for 194 yards and a 147.7 passer rating.

For the Broncos as team, the win in Indianapolis was their first road win since a victory at the Jacksonville Jaguars on Dec. 4, 2016 — a full 375 days. Denver also ended a streak of losing eight straight games when trailing at half, and their first win this season when losing the turnover battle. It was Denver’s first win in Indianapolis since 2003, and their first at Lucas Oil Stadium.

Through the first two drives, it looked like it would be another disappointing game for Denver after Siemian threw an interception and Brandon McManus missed a field goal to start the game. After Siemian departed the game, Osweiler led an inspired comeback. His 18-yard rushing touchdown brought the Broncos within a field goal heading into halftime.

Carrying a 10-7 lead out of the locker room at halftime, Jacoby Brissett methodically marched the Colts downfield on the first drive of the second half for an Adam Vinatieri field goal. The 54-yard drive took 5:47 off the clock and featured three passing plays of 10 or more yards to running backs or tight ends. Ross Travis, the former Kansas City Chief, had a 13-yard pickup to get into Vinatieri’s range.

Osweiler hit Cody Latimer for a nice gain of 18 on Denver’s first offensive play of the half, but an offensive pass interference penalty against Bennie Fowler backed Denver into a long yardage situation in the early going. Devontae Booker, who almost had the play of the first half, ripped off a 12-yard run up the middle to make things a little more manageable. An Emmanuel Sanders catch set up third-and-two, which saw Booker come up one yard short of the line of gain. For the second time in the game, head coach Vance Joseph elected to go for it on fourth down.

The gamble paid off again, as Demaryius Thomas drew a holding penalty to give Denver an automatic first down.

C.J. Anderson took over from there, rattling off runs of six, eight and six yards, before Osweiler added to his highlight reel for the night. He topped his 18-yard first-half scramble for a touchdown with a beautiful 22-yard, pass to Cody Latimer in the end zone to tie the game. Brandon McManus tacked on the extra point to give Denver a 14-13 lead.

Playing with its first lead of the game, the Denver defense forced a three-and-out and minus-five yards on three Brissett incompletions and a false start on the punt. Jordan Taylor hauled in a fair catch at the Broncos’ 33-yard line and handed the ball back to the offense.

Anderson continued his strong performance with an 11-yard run to open the next drive, but it was tight end Jeff Heuerman who stole the show. The second-year tight end hauled in his second career touchdown and second this season when he found a seam and went 54 yards into the end zone.

Latimer added to his strong night with an acrobatic catch on a two-point conversion to make it a nine-point game with 2:37 remaining in the third quarter.

The Denver defense forced another punt on the next Indianapolis drive, aided by a sack on third down that saw Brissett scramble laterally for what seemed like forever before being tripped up by Bradley Roby and finished off by Von Miller as the third quarter came to an end.

Offensive coordinator Bill Musgrave tried to take advantage of a dinged-up Colts front seven and played ball control to open the fourth quarter. Anderson had two carries for 16 yards early in the drive, but a false start penalty on Booker, a facemask against Heuerman and then a false start on right guard Connor McGovern backed up Osweiler into a second-and-26 situation. The Colts returned the penalty favor, though, with a facemask of their own on third-and-21 to give the Broncos an automatic first down. Osweiler then went back to Latimer for the third time on the night, this time for 20 yards into Colts territory. Booker and Anderson continued to barrel their way through the Indianapolis line as Denver churned 9:28 off the clock, capping the drive with a McManus 40-yard field goal to extend the Denver lead and cap the scoring for the night.

The Colts managed just 20 yards on seven plays on their next drive, giving up the ball on down at their own 45.

Musgrave continued to lean on Anderson, who ended his night with 30 carries and 158 yards (just 10 shy of a career high), to grind out the clock. Rather than risking a field goal on fourth-and-10 with the ball at the Colts’ 13-yard line, the Broncos ran one final play on offense and turned things over to the defense.

Knowing their night was done, Brissett and the Colts graciously took an knee and let time expire.

The win is Denver’s second in five days after losing eight straight games over two months. The Broncos improve to 5-9 on the season with two games remaining.

Denver has nine days off now before a Christmas Eve morning date with the Redskins in Washington.