Kagelmacher, dessen Vater ebenfalls einige Jahre im uruguayischen Profifußball als Spieler aktiv war, besuchte die Deutsche Schule Montevideo. Er begann seine Karriere in seiner Geburtsstadt beim Danubio FC, für den er bereits 2004 in der Jugendmannschaft spielte.[2] Für den Verein absolvierte er insgesamt vier Erstligaspiele und gehörte dem sowohl im Torneo Apertura 2006 als auch in der Meisterschaft der Gesamt-Spielzeit 2006/07 siegreichen Team an.
Im August 2007 zog es ihn nach Spanien. Dort heuerte er bei Real Madrid Castilla an, der zweiten Mannschaft von Real Madrid. Zu Beginn nur für ein Jahr ausgeliehen, einigte man sich, nach guten Leistungen in der zweiten Mannschaft, im Sommer 2008 mit Danubio FC ihn für zwei weitere Jahre auszuleihen.
In der Saison 2008/09 gab Gary Kagelmacher am 38. Spieltag der Primera División sein Debüt in der Startelf der ersten Mannschaft. Gegen CA Osasuna unterlag man 2:1 (1:1) und Kagelmacher wurde schon in der 58. Minute ausgewechselt.[3] Ein weiterer Liga-Einsatz für die Erste Mannschaft folgte nicht.
Im Sommer 2010 wurde Kagelmacher für ein Jahr zum belgischen Jupiler-Pro-League-Verein Germinal Beerschot ausgeliehen. Sein Startelfdebüt feierte er am 2. Spieltag im Spiel gegen Cercle Brügge (0:0), wo er 60. Minuten auf dem Platz stand, nachdem er in der 30. Minute für den verletzten Philippe Clement eingewechselt wurde.[4] Nach guten Leistungen in der Startelf verpflichtete Germinal Beerschot ihn fest im Sommer und stattete ihn mit einem Vertrag bis zum 30. Juni 2014 aus; außerdem wurde er vom Trainer Jacky Mathijssen zum Mannschaftskapitän ernannt.
Bei den Monegassen absolvierte er 52 Partien in der Ligue 2 und erzielte drei Treffer.[7] In der Saison 2012/13 war er dabei mit 35 Startelfeinsätzen Stammspieler. Zu Beginn der Spielzeit 2013/14 wurde er dort nicht mehr eingesetzt.[8]
Am 2. September 2013 wechselte Kagelmacher bis zum Saisonende auf Leihbasis zum FC Valenciennes.[9] Bei seinem neuen Verein debütierte er am 25. September 2013 in der Partie gegen Paris Saint-Germain. In der Spielzeit 2013/14 bestritt er 30 Liga-Einsätze (kein Tor) für Valenciennes.[8] Sein Verein beendete die Saison auf dem 19. und somit vorletzten Tabellenplatz. Dies hatte den Abstieg in die Ligue 2 zur Folge.
Zur Spielzeit 2014/15 schloss Kagelmacher sich dem TSV 1860 München in der 2. Bundesliga an.[10] Nach dem zweiten Spieltag der Saison 2014/15 erhielt Kagelmacher eine Geldstrafe von seinem Verein,[11] nachdem er bei einem Ligaspiel gegen RB Leipzig mit seinem Mannschaftskollegen Gábor Király aneinandergeraten war.[12] Die ersten Treffer für die Münchner Löwen konnte er am 8. März 2015 bei einer 2:3-Heimniederlage gegen den SV Sandhausen verbuchen, als er beide Tore für die Gastgeber erzielte.[13]
Insgesamt absolvierte er in der Saison 2014/15 26 Spiele (zwei Tore) in der 2. Bundesliga, zwei Relegationsspiele (kein Tor) und eine DFB-Pokal-Partie (kein Tor) für die Münchner.[14] In der Spielzeit 2015/16 kam er zu 32 weiteren Zweitligaeinsätzen (ein Tor) und bestritt drei Partien im DFB-Pokal.[15]
Für die Israelis lief er in der Spielzeit 2016/17 in 34 Ligaspielen (ein Tor) und zwei Begegnungen (kein Tor) der Europa League auf. Im August 2017 verpflichtete ihn der KV Kortrijk. Dort bestritt er 78 Ligapartien und erzielte dabei zwei Tore.[17]
Mitte Januar 2020 verließ Kagelmacher Europa und kehrte nach Uruguay zurück. Er unterschrieb einen neuen Vertrag bei Peñarol Montevideo.[18] Nach zwei Jahren in der uruguayischen Hauptstadt wechselte der Defensivspieler nach Mexiko zum Club León.[19] Nach einem halben Jahr ging Kagelmacher im Juli 2022 zu Universidad Católica nach Chile.[20]
↑Bilanz bei FIFA-Turnieren. www.fifa.com, 23. Oktober 2009, archiviert vom Original (nicht mehr online verfügbar) am 2. Dezember 2013; abgerufen am 31. Dezember 2010 (deutsch).Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/de.fifa.com