Starkl begann seine Karriere beim Kremser SC in Niederösterreich. 2006 wechselte er für eine Saison in die Jugendabteilung des SC Getzersdorf, ehe er in die Fußballakademie St. Pölten aufgenommen wurde. Dort blieb er vier Jahre, bis er vom österreichischen Rekordmeister SK Rapid Wien verpflichtet wurde.
Bereits in seiner ersten Saison wurde er in den Kader von Rapids zweiter Mannschaft berufen. Sein Debüt gab Starkl unter Trainer Zoran Barisic am 9. August 2011 im Spiel gegen den SC Neusiedl am See. Er spielte von Beginn an und wurde in der 77. Minute für Daniel Randak ausgewechselt. Das Spiel wurde 2:1 gewonnen. Insgesamt kam der Stürmer in dieser Saison auf 25 weitere Einsätze und erzielte acht Tore.
2012/13 wurde er in die erste Mannschaft des SK Rapid Wien geholt. Trainer Peter Schöttel wechselte Starkl am 3. November 2012 im Spiel gegen den SK Sturm Graz in der 57. Minute für Muhammed Ildiz ein. Sein Debüt in der höchsten österreichischen Spielklasse wurde in der GrazerUPC Arena 1:2 verloren, wobei Starkl zehn Minuten nach seiner Einwechslung das 1:2 durch Guido Burgstaller vorbereitete.[1]
In der Sommerpause 2015 wechselte Starkl leihweise für ein Jahr zum FC Admira Wacker Mödling.[2] Die Admira hatte eine Kaufoption, die sie im April 2016 auch zog.[3] In sieben Spielzeiten bei der Admira kam der Stürmer zu 142 Bundesliga- sowie 23 anderen Pflichtspieleinsätzen, in denen er insgesamt 20 Mal traf. Mit der Admira stieg er am Ende der Saison 2021/22 aus der Bundesliga ab.
Daraufhin wechselte er zur Saison 2022/23 innerhalb Niederösterreichs zum Neo-Ligakonkurrenten SKU Amstetten, bei dem er einen bis Juni 2024 laufenden Vertrag erhielt.[4] Für Amstetten absolvierte er 47 Zweitligaspiele, in denen er elfmal traf. Zur Saison 2024/25 wechselte er zum Regionalligisten Kremser SC.
Nationalmannschaft
International absolvierte der Stürmer Spiele für die österreichische U-18 und U-19. In der U-21 kam Starkl auf fünf Einsätze und traf in einem Freundschaftsspiel gegen die Türkei zum 2:0-Endstand.