Inició su carrera en el fútbol como juvenil en el club local SV Seekirchen y en 2006 llegó al poderoso club austriaco Red Bull Salzburgo. Entre 2007 y 2010 disputaría partidos con el equipo sub-17 y sub-19 hasta que el 16 de abril de 2010 debutó en un partido del segundo equipo frente al Austria Lustenau, un encuentro que terminó con victoria 3-0 válido por la jornada 26 de la Primera Liga de Austria, es decir la segunda división austriaca temporada 2009/10. Lainer jugó todo el partido bajo la dirección de Niko Kovač, entonces técnico del segundo equipo. En esa campaña del debut disputó algunos encuentros más con el Red Bull Salzburgo II a la vez que alternaba con el combinado sub-19 del club.
En la siguiente campaña vio más regularidad con el segundo equipo, esta vez para la temporada 2010/11 de la Regionalliga West (tercera división), donde jugó 25 partidos anotando dos goles. El 12 de abril de 2011 marcó su primer gol con este equipo, en la victoria por 7-0 frente al Union Innsbruck de local.
SV Grödig
El siguiente paso en su carrera fue con el SV Grödig de la segunda división austriaca, dado que el Red Bull lo prestó para la campaña 2011/12. El 12 de julio de 2011 debutó oficialmente con el club en la derrota 2-1 frente al Austria Lustenau, nuevamente. Tres partidos después anotó su primer gol con el club ante el TSV Hartberg y en la siguiente fecha marcó el primer doblete de su carrera ante el FC Lustenau 07, en un encuentro que ganaron 3-1. Lainer jugó un total de 26 partidos marcando tres goles, tanto en liga como en copa.
Liefering
Culminado el préstamo, Lainer regresó al Red Bull Salzburgo. Para la temporada 2012/13, fue incluido en la escuadra del FC Liefering, club que recién había sido creado como equipo de reservas del Red Bull e iba a disputar la tercera división. Lainer jugó 30 partidos, marcando dos goles y siendo clave en el equipo, dado que el Liefering se coronó campeón de la liga regional del oeste y posteriormente ascendió a la segunda división venciendo en los play-offs al LASK Linz.
De vuelta a la 2. Liga, Lainer se convirtió en un jugador importante para las reservas del Red Bull, jugando un total de 36 partidos y anotando un gol, todo esto en la campaña 2013/14, su última aventura en la segunda división.
SV Ried
Lainer fichó por el SV Ried para la temporada 2014/15, la cual significaba su primera experiencia oficial en un equipo de primera división. El 11 de julio de 2014 debutó con el Ried en un partido válido por la Copa de Austria, jugando todo el partido y venciendo por 3-2 al SC-ESV Parndorf 1919. Desde entonces se convirtió en el lateral derecho titular del club, jugando varios partidos de mitad de campaña hacia adelante como interior derecho. Lainer jugó un total de 36 encuentros y un gol a favor, el cual se dio el 13 de diciembre de 2014 en una goleada frente al SC Wiener Neustadt.
Red Bull Salzburgo
El 1 de julio de 2015, Lainer regresó al club que lo hizo debutar en el fútbol, el Red Bull Salzburgo que había salido campeón de liga y copa la campaña pasada y que lo compró a £140,000 ofreciéndole un contrato de tres años. La historia se repetiría en la campaña 2015/16 puesto que el Red Bull se volvería a adueñar del doblete, esta vez con Lainer jugando varios encuentros por la banda derecha.
Hizo su debut oficial el 18 de julio de 2015, goleando 7-0 al Deutschlandsberger SC por la Copa de Austria y el 23 de agosto marcó su primer gol con el club frente al FK Austria Viena, en un empate 2-2 por la sexta jornada de la liga austriaca. Poco a poco fue alcanzando regularidad y en la siguiente campaña terminó asentándose como titular, llevando la banda de capitán en dos encuentros. Red Bull nuevamente consiguió los títulos de liga y copa en la campaña 2016/17 y Lainer fue convocado a la selección de fútbol de Austria.
La temporada 2018/19 fue una de las más exitosas del Red Bull en los últimos tiempos. No solo porque salieron campeones de liga en Austria (esta vez el Sturm Graz se llevó la Copa de Austria) sino porque llegaron a las semifinales de la Liga Europa de la UEFA, donde cayeron ante el Olympique de Marsella, coronando así su mejor campaña a nivel internacional. Lainer, indiscutiblemente asentado en la banda derecha del club disputó todos los encuentros en este torneo con cinco asistencias a su favor y casi todos los de liga, disputando un total de 55 partidos y anotando dos goles esa campaña, uno de ellos frente a Lazio, en cuartos de final de la Europa League.
Borussia Monchengladbach
El 19 de junio de 2019, dio el gran salto al extranjero, cuando el Borussia Mönchengladbach de Alemania hizo oficial su fichaje hasta junio de 2024.[1] El 9 de agosto hizo su debut oficial en el triunfo por 1-0 sobre Sandhausen, por el arranque de la Copa de Alemania 2019-20 y el 24 de agosto anotó su primer gol en la segunda fecha de la Bundesliga 2019/20, en el triunfo por 3-1 ante Maguncia 05.
A finales de julio de 2023, en las pruebas médicas rutinarias de pretemporada, se le diagnosticó un linfoma, o lo que es lo mismo, un cáncer en el sistema linfático.
Actualmente está en su Austria natal en plena recuperación con altas probabilidades de recuperarse para la próxima temporada.
Selección nacional
Forma parte de la selección de fútbol de Austria, con la cual ha disputado 39 encuentros en los que ha anotado dos goles. Con 24 años debutó el 28 de marzo de 2017 en un amistoso contra Finlandia, sustituyendo en el entretiempo a Markus Suttner. El partido terminó empatado 1-1.