Haller iniziò a correre nel 2006 come allievo vincendo 18 competizioni tra strada e pista, e successivamente gareggiò fino al 2009 nella categoria Juniores. Nel 2010 con la squadra ContinentalTyrol Team passò a semiprofessionista, e nel 2011 vestì la divisa del team sloveno Adria Mobil, piazzandosi secondo al Poreč Trophy.
Nel 2012 divenne professionista con la squadra russa Katusha, e nello stesso anno centrò la sua prima vittoria nella quarta tappa del Tour of Beijing. Nel 2014 vinse una tappa all'Österreich-Rundfahrt, mentre nel 2015, dopo la vittoria nella classifica generale del Tour des Fjords, si laureò campione nazionale in linea.