Olsen spillede på Brøndby IF's ungdomshold i en periode, og som udgangspunkt for U19-holdet. I 2012 blev han rykket op i seniortruppen.
Den 6. maj 2012 fik Olsen sin debut for Brøndby i et Superliga opgør imod AaB.
Det blev til tre superligakampe for den unge spiller. Han blev senere i 2012 solgt til Italien.
Inter
Den 27. august 2012 blev det bekræftet, at Olsen ville skifte til Inter på en 3-årig kontrakt.[3] Ifølge kilder blev der givet 260.000 € for den unge dansker.[kilde mangler]
Planen med danskeren var, at han et halvt år skulle spille på Inters ungdomshold og herefter træne på senior holdet. Alt gik efter planen, og Patrick Olsen blev i 2013 permanent førsteholdsspiller.
I sommeren 2013 blev Olsen udtaget til Inters USA-turné, hvor holdet skulle spille en række venskabskampe.[4]
Den 4. december 2013 fik Olsen sin debut for førsteholdet i en sejr over Serie B-klubben Trapani i Coppa Italia, hvor han som indskifter erstattede det kroatiske stortalent Mateo Kovacic på den centrale midtbane.[5]
Arsenals træner Arsene Wenger viste flere gange interesse for at hente den unge dansker til sin klub, men dog uden held.[6]
Strømsgodset IF
Den 9. februar 2014 blev Patrick udlejet til de norske mestre, Strømsgodset IF.[7] Her skulle han ifølge kilder tilbringe resten af 2014. Inter-spilleren havde i januar travlt med at finde en klub at blive lejet ud til, da der ikke var meget førsteholdsbold i sigte i Inter.
FK Haugesund
Den 24. april 2015 skiftede Olsen til den norske klub Haugesund.[8] Efter at have spillet 11 ud af 12 ligakampe skiftede Olsen den 20. august 2015 væk fra Haugesund, selvom klubben ønskede at beholde ham.[9]
RC Lens
Det blev offentliggjort den 27. august 2015, at Olsen havde skrevet under med den franske Ligue 2-klub RC Lens.[10]
Grasshopper Club Zürich
Han skiftede den 28. januar 2017 til schweiziske Grasshopper Club Zürich, hvor han skrev under på en kontrakt frem til sommeren 2020.[11]
FC Helsingør
Han skiftede den 16. september 2017 til den danske klub FC Helsingør, der netop var rykket op i den bedste danske række, Superligaen. Han skrev under på en treårig aftale gældende frem til sommeren 2020.[12]
AaB
I sommeren 2019 skiftede Patrick Olsen til AaB på en treårig aftale.[13]
AGF
Allerede den følgende sommer skiftede Olsen til superligarivalerne fra AGF for 1 million euro, hvorved han fik en femårig aftale.[14] Tiden i AGF begyndte udmærket for Olsen, men efterhånden gled han ud af startopstillingen, og i februar 2022 skiftede han til Śląsk Wrocław efter i alt 55 kampe og 6 mål i AGF.[15]
I maj 2013 fik Olsen 2 spilledages karantæne af sin U/19-landsholdstræner Thomas Frank, da han havde brudt nogle interne regler. Han havde modsat alle de andre ikke været på hotellet til tiden.[16]