Josef Stehlík se narodil jako syn hajného Františka Stehlíka a Berty, rozené Schusterné. Měl starší sourozence Matyldu, Adolfa, Eduarda a Boženu. Po vyučení soustružníkem kovů a elektromechanikem v Tišnově narukoval 1. října 1935 dobrovolně k letectvu. V rámci vojenské prezenční služby prodělal kurs leteckých mechaniků u 85. letky leteckého pluku v Brně, v letech 1936–1937 absolvoval u leteckého pluku 1 T. G. Masaryka v Praze-Kbelích poddůstojnickou školu a pilotní výcvik.
Po povýšení na svobodníka 1. února 1937 byl poslán na stíhací kurz u 4. leteckého pluku v Hradci Králové. 15. července 1937 byl následně přidělen k leteckému pluku 3 Generála – letce M. R. Štefánika na Slovensku. Nejprve působil u 39. stíhací letky na letištích Piešťany, Vajnory a Malacky-Kuchyňa, kde byl povýšen na desátníka (16. září 1937) a četaře (1. května 1938). Za mobilizace byla letka umístěna na polním letišti Rarbok, odkud se podílela na vzdušné ostraze hranic s Maďarskem. Rozpad státu Josefa Stehlíka zastihl ve Spišské Nové Vsi, kde pro své výjimečné pilotní umění působil jako učitel létání. Do té doby nalétal 470 hodin.
Po repatriaci do protektorátu byl 19. března 1939 propuštěn z armády a za pomoci Svazu letců RČS odešel – stejně jako mnoho jeho spolubojovníků - 5. června ilegálně do Polska, kde se připojil k vznikajícímu zahraničnímu odboji. O měsíc později odplul z Gdyně parníkem Kastelholm do Francie, kde podepsal závazek do Cizinecké legie. Po vypuknutí války byl povýšen na rotného (2. října 1939) a odeslán k absolvování přeškolení a bojového výcviku na leteckou základnu v Chartres, odkud byl 2. prosince 1939 odeslán jako jeden z prvních československých stíhačů na západní frontu. Stal se příslušníkem letecké stíhací perutě Groupe de Chasse GC III/3, vyzbrojené zprvu stíhačkami Morane Saulnier MS-406, později moderními Dewoitine D-520.
Již v dobách tzv. podivné války se 21. prosince 1939 stal (společně s kapitánem Jindřichem Beranem a rotmistrem Josefem Keprtem) aktérem prvního vzdušného boje československých letců na západní frontě. Na francouzské frontě se všestranně vyznamenal. Nalétal 65,55 operačních hodin a sestřelil 6 letounů jistě a 1 pravděpodobně. Po porážce Francie přeletěl 19. června z jihofrancouzského Perpignanu do severní Afriky. Po uvolnění od jednotky odplul z Casablanky do Gibraltaru a odtud lodí David Livingstone do britského Cardiffu, kde vystoupil 5. srpna 1940.
14. srpna 1940 vstoupil do RAF VR, poté byl 5. září jako Sergeant přidělen k formující se 312. československé stíhací peruti, která byla posléze odeslána do Speke s úkolem vzdušné obrany Liverpoolu. 8. října se podílel na jejím prvním úspěšném zásahu proti nepříteli. Na strojích Hurricane poté zvýšil své skóre při defenzivních operacích nad Irským mořem a následně při ofenzivních sweepech nad okupovanou Francií. Následovalo povýšení na rotmistra letectva v záloze (28. října 1940) a do nejnižší britské důstojnické hodnosti Pilot Officer (7. srpna 1941). Své působení u 312. ukončil 20. října 1941 - následující dva roky byl leteckým instruktorem. Nejprve absolvoval instruktorský kurz u CFS v Upavonu, poté 13. prosince 1941 odeslán do pokračovací pilotní školy 9. SFTS v Hullavingtonu, nicméně zakrátko odplul se stejným posláním do Kanady.
Od 10. února 1942 vyučoval létání u 39.SFTS ve Swift Currentu, od července téhož roku u 31. EFTS v De Wintonu (kde byl 7. srpna 1942 povýšen na Flying Officera) a od 28. října 1942 do 4. února 1943 u 34.SFTS v Medicine Hatu. Do operačního létání v Británii se vrátil 10. dubna 1943, kdy nastoupil opět u 312. peruti, na jejíchž Spitfirech se opět účastnil výpadů nad okupovaný kontinent. 7. srpna 1943 byl povýšen do hodnosti Flight Lieutenant, zatímco po československé linii byl poručíkem letectva. Až do konce svého působení v RAF v jeho službách nalétal celkem 1175 hodin (z nich téměř 650 v Kanadě), z toho 240 operačních.
Poté, co se dobrovolně přihlásil na východní frontu, byl 31. ledna 1944 propuštěn ze svazku RAF. Byl povýšen na nadporučíka letectva a 21. února 1944 odplul z Glasgow společně s dalšími 20 dobrovolníky na lodi Reina del Pacifico přes Gibraltar do Egypta, následně pozemními spoji pokračovali přes Palestinu, Sýrii, Irák a Írán do Sovětského svazu. Po příchodu na letiště Ivanovo, kde se piloti přeškolovali na sovětské stíhací letouny Lavočkin La-5FN, se 3. května 1944 stal příslušníkem právě zřízené 128. čs. samostatné stíhací letecké peruti. Ta se 1. června 1944 na letišti Kubinka reorganizovala na 1. československý samostatný stíhací letecký pluk, u nějž od téhož dne vykonával funkci velitele 1. letky.
15. září 1944 společně se štábním kapitánem Františkem Fajtlem, štábním kapitánem Janem Klánem a nadporučíkem Františkem Cháberou přistál na letišti Tri Duby, aby dojednali technické podrobnosti příletu celého pluku. Stali se tak prvními československými letci československé zahraniční armády, kteří opět dosedli na domácí půdě. Po definitivním přesunu celého pluku na Slovensko (17. září 1944) odtud úspěšně létal až do 25. října 1944, kdy spolu se zbytky pluku odletěl zpátky do sovětského týlu. Za Povstání nalétal dalších 26.20 operačních hodin a zúčastnil se četných útoků na pozemní cíle (včetně úspěšného útoku na letiště Piešťany 18. září 1944, který vedl), v jejichž průběhu zničil nebo poškodil 3 letouny na zemi, 12 nákladních a 2 osobní auta, 1 lokomotivu, 3 povozy s vojenským materiálem, 2 dělostřelecké a 1 minometnou baterii.
Vyznamenal se i v několika vzdušných bojích (mimo jiné dosáhl prvního sestřelu pluku 19. září 1944) a uzavřel tak své válečné skóre, které tehdy činilo 10 letounů sestřelených jistě, 3 pravděpodobně a 1 letoun poškozený. Stal se tak jediným československým stíhačem, který dosáhl sestřelů jak ve Francii a Británii, tak i na Slovensku. Po odletu ze Slovenska byl 19. prosince 1944 určen zástupcem velitele 2. československého stíhacího leteckého pluku, který však až do konce války nedosáhl operačního statutu, takže do závěrečných bojů již nezasáhl (velitelem pluku byl major Ivan Haluzický).
Po návratu do vlasti byl 1. července 1945 povýšen na kapitána letectva a následně vykonával vesměs funkci učitele létání. Od srpna působil v obnovovaném Leteckém učilišti v Prostějově, kde byl k 12. ledna 1946 povýšen na štábního kapitána letectva. 15. února 1946 byl odvelen do Prahy-Kbel, kde vedl přeškolování příslušníků Letectva SNB na stíhací letouny S-99 (Messerschmitt Bf 109G-10). O rok později v Českých Budějovicích přeškoloval instruktory pro Vojenskou leteckou akademii Hradec Králové, kde od 31. května 1947 působil. Následně byl jmenován velitelem 2. výcvikové letky Vojenské letecké akademie na letišti v Pardubicích.
1. června 1948 armáda poslala Josefa Stehlíka na dovolenou „s čekaným“, což znamenalo konec jeho létání v československém vojenském letectvu. 1. září byl přeložen do zálohy. V následujícím roce byl zatčen a následně sedm měsíců držen ve vyšetřovací vazbě v tzv. domečku v Praze na Loretě pro podezření z napomáhání k ilegálnímu opuštění státu. Po propuštění v dubnu 1949 následovala degradace a vystěhování ze služebního bytu. Poté musel vzít zavděk málo kvalifikovanou prací. Nejprve si našel místo ve firmě Elektrosignál v Praze-Holešovicích, odkud byl po 4 měsících propuštěn. Pak odešel do Brna, kde byl zaměstnán v Chemické výrobě, odkud jej po několika týdnech rovněž propustili. V listopadu 1949 nastoupil u Československých stavebních závodů v Brně, nejprve jako závozník, poté řidič nákladního auta, a nakonec jezdil jako zásobovač v osobním autě. V roce 1963 přešel jako řidič do lázní Lipová v Jeseníkách.
V roce 1964 byl částečně rehabilitován, byla mu navrácena hodnost majora letectva v záloze (původní hodnost štábního kapitána byla mezitím zrušena) a roku 1969 odešel do důchodu.
Josef Stehlík byl třikrát ženatý. Poprvé se oženil 11. února 1944 s Jacqueline Hamiltonovou, která byla zasnoubena s podporučíkem letectva Josefem Nývltem, s nímž čekala dceru Karolu. Pár se ale nestačil vzít, protože Josef Nývlt mezitím padl (15. září 1942 nad Biskajským zálivem). Sňatek se Stehlíkem byl jen formální, aby dítě mělo oficiálně otce – po válce bylo manželství diplomatickou cestou rozvedeno. V roce 1956 se oženil s Ninou Pluhaříkovou, dcerou ruského legionáře. Ta jej však později odmítla následovat do lázní Lipová, takže se o deset roků později rozvedli. 17. září 1966 se oženil potřetí – s administrativní pracovnicí lázní Lipová Marií Černou. V roce 1971 se odstěhovali do Slavičína, kde v 76 letech zemřel. Ještě předtím byl v rámci polistopadových rehabilitací povýšen na plukovníka ve výslužbě. Je pohřben ve Slavičíně.