Osweiler fu scelto nel corso del secondo giro (57º assoluto) dai Denver Broncos nel Draft 2012[1]. Malgrado la firma dell'ambito free agentPeyton Manning, a causa della contemporanea cessione di Tim Tebow, i Broncos decisero di scegliere un altro quarterback nel draft da far crescere per diventare il loro titolare per il futuro, e nel frattempo fungere da riserva a Manning. Il 24 luglio 2012, il vicepresidente esecutivo John Elway annunciò la firma del contratto del giocatore[2].
Il suo debutto nella NFL avvenne nella settimana 4 contro gli Oakland Raiders, in una partita vinta dai Broncos per 37-6[3]. Il suo primo passaggio lo lanciò nella vittoria della settimana 17 contro i Kansas City Chiefs, terminando con 2 passaggi completati su 4 tentativi per 12 yard.
Nell'ultima settimana della stagione 2013 contro gli Oakland Raiders, Osweiler ebbe la possibilità di giocare quasi tutto il secondo tempo, in cui completò 9 passaggi su 13 per 85 yard[4]. Un anno dopo, nell'ultima partita del 2014, lanciò il primo touchdown in carriera, su un passaggio da una yard per Virgil Green.
Nella settimana 10 della stagione 2015, Osweiler subentrò a Manning, rallentato da una fascite plantare, durante la partita contro i Chiefs, a risultato tuttavia ormai compromesso, non riuscendo a guidare la squadra alla rimonta. A causa dell'infortunio di Manning, nel turno successivo, per la prima volta in carriera fu nominato titolare per la gara contro i Bears, in cui condusse i Broncos alla vittoria dopo due sconfitte consecutive, passando 265 yard e 2 touchdown, di cui uno nel primo possesso di Denver da 48 yard per Demaryius Thomas. La prestazione gli valse il premio di miglior giocatore offensivo della AFC della settimana[5][6][7]. Sette giorni dopo, in un Mile High Stadium innevato, guidò Denver alla vittoria ai supplementari sui precedentemente imbattuti Patriots passando 270 yard, un touchdown e subendo un intercetto[8]. Dopo un'altra vittoria sui Chargers, Osweiler subì la prima sconfitta in carriera come titolare per mano dei Raiders che lo pressarono per tutta la partita[9]. Nel penultimo turno portò i Broncos a rimontare uno svantaggio di 14-0 contro i Bengals andando a vincere ai supplementari; i Broncos ottennero così la matematica qualificazione ai playoff. La sua gara terminò con 299 yard passate e un touchdown. Nell'ultima partita stagionale contro San Diego, Osweiler partì come titolare ma nel secondo tempo, con i Broncos in svantaggio 13-7, fu sostituito dal ristabilito Manning, che portò Denver alla vittoria in rimonta per 27-20[10]. La stagione regolare di Osweiler si chiuse con 1.967 yard passate, 10 touchdown e 6 intercetti in otto presenze, di cui sette come titolare. Non scese più in campo per il resto della stagione 2015, mentre Manning fu nuovamente nominato titolare a partire dalla gara del divisional round dei playoff, conducendo la squadra a conquistare il Super Bowl 50 contro i Carolina Panthers[11].
Houston Texans
Divenuto free agent, il 9 marzo 2016 Osweiler firmò con gli Houston Texans un contratto di quattro anni del valore di 72 milioni di dollari[12]. L'11 settembre disputò la prima partita con la nuova maglia, una vittoria interna contro i Chicago Bears, in cui passò 231 yard, due touchdown e subì un intercetto. La sua stagione fu però nettamente al di sotto delle aspettative, risultando uno dei peggior quarterback titolari della lega, fino ad essere sostituito da Tom Savage nel primo tempo della partita della settimana 15 contro i Jacksonville Jaguars, dopo che aveva lanciato due intercetti[13][14]. Savage guidò la squadra alla vittoria dopo essere entrato mentre era in svantaggio per 13-0, venendo nominato titolare per la gara del turno successivo[15]. Nell'ultima ininfluente partita stagionale, Savage si infortunò così Osweiler fu nuovamente nominato titolare per la gara del primo turno di playoff. Il 7 gennaio contro i Raiders passò 168 yard e un touchdown per DeAndre Hopkins, uno dei ricevitori con cui era mancata maggiormente la chimica durante la stagione regolare, nella vittoria dei Texans per 27-14[16].
Cleveland Browns
Dopo una sola stagione, il 9 marzo 2017 Osweiler fu scambiato con i Cleveland Browns in cambio di una scelta del secondo giro del Draft 2018. Dopo che gli fu preferito il rookie DeShone Kizer come titolare per l'inizio della stagione regolare, il 1º settembre 2017 fu svincolato.[17]
Ritorno ai Broncos
Il 2 settembre 2017, Osweiler firmò nuovamente con i Broncos dopo l'infortunio del quarterback di riserva Paxton Lynch.[18] Nella prima metà della stagione fu Trevor Siemian a partire come titolare finché, dopo delle prestazioni negative, Osweiler prese il suo posto nella settimana 9, dove passo un touchdown e subì 2 intercetti nella sconfitta con i Philadelphia Eagles per 51-23.[19] Dopo tre sconfitte in altrettante gare come partente, Osweiler dovette cedere il posto di titolare a Lynch. Quest'ultimo però, nella gara del giovedì notte contro gli Indianapolis Colts del quindicesimo turno, si infortunò nel primo quarto, così Osweiler gli subentrò trascinando la squadra alla vittoria con 12 passaggi completati su 17, per 190 yard e 2 touchdown, oltre a un terzo segnato su corsa in quella che fu la sua miglior prova stagionale.[20] Tornò così titolare nel penultimo turno contro i Washington Redskins, passando 193 yard e subendo un intercetto nella sconfitta per 27-11.[21]
Miami Dolphins
Il 23 marzo 2018 Osweiler firmò con i Miami Dolphins dove ritrovò il suo ex coordinatore offensivo Adam Gase.[22] Nel sesto turno partì come titolare al posto dell'infortunato Ryan Tannehill, riuscendo a guidare la squadra alla vittoria ai tempi supplementari sui Chicago Bears e chiudendo con 380 yard passate.[23]