09.1886. kā savvaļnieks iestājās Krievijas armijas 115. kājnieku pulkā Rīgā. Pēc mācību komandas kursa beigšanas 01.1887. ieguva jaunākā apakšvirsnieka dienesta pakāpi. Pēc obligātā dienesta 05.1889. atvaļināts no karadienesta. 12.1890. iestājās virsdienestā 99. kājnieku pulkā Daugavpilī. Jaunākais unteroficieris, no 01.1891. – vecākais unteroficieris. Pēc junkurskolas beigšanas no 08.1893. – podpraporščiks savā 99. kājnieku pulkā, bet 04.1894. paaugstināts par podporučiku, pārvietojot uz 100. kājnieku pulku Daugavpilī. Rotas jaunākais virsnieks, no 09.1897. – pulka tiesas sekretārs, no 04.1898. – pulka adjutants. Poručiks (08.1898.), štābkapteinis (04.1902.), kapteinis (06.1908.), apakšpulkvedis (01.1915., par kaujas nopelniem), pulkvedis (10.1916.). Saistībā ar Krievijas–Japānas kara norisēm 09.1904. komandēts Mandžūrijā operējošā karaspēka pavēlnieka rīcībā. Pēc ierašanās 20.10.1904. iedalīts 33. kājnieku pulkā, rotas komandieris. Piedalījies kaujās, 05.03.1905. ievainots galvā (lode izgāja cauri sejai). Pēc kara palicis dienestā 33. kājnieku pulkā, tam atgriežoties pastāvīgajā vienības izvietojumā Poltavā.
Sākoties Pirmajam pasaules karam, mobilizācijas gaitā pārvietots uz jaunizveidoto 237. kājnieku pulku, līdz 09.1914. bija 1. bataljona komandieris, piedalījās kaujās ar Austroungārijas armiju Galīcijā. Pēc ievainojuma izārstēšanas no 11.1914. – pulka saimniecības priekšnieks. 24.09.1915. pēc paša lūguma komandēts Daugavgrīvas cietokšņa komandanta rīcībā, bet 28.09.1915. iecelts par jaunformējamā 3. Kurzemes latviešu strēlnieku bataljona komandieri (10.1916. bataljons pārdēvēts par pulku), pēc mēneša iesaistoties kaujās ar Vācijas armiju Ziemeļu frontes Rīgas sektorā. Kaujās vairākkārt ievainots un kontuzēts (09.09.1914. Galīcijā pie Ļvovas ievainots ar lodēm plaušās un plecā, 20.04.1916. Nāves salā kontuzēts galvā un ievainots plecā artilērijas lādiņa eksplozijā, 29.05.1916.

3. Kurzemes latviešu strēlnieku bataljona strēlnieki pozīcijās Nāves salā. 1916. gads. Pirmais no labās – bataljona komandieris apakšpulkvedis Jānis Kalniņš.
Fotogrāfs nezināms. Avots: Latvijas Kara muzejs.
Nāves salā ievainots rokā, sadragājot pirkstu kaulus, un kontuzēts lādiņa eksplozijā, 01.04.1917. kontuzēts, 29.08.1917. Olaines pozīcijās kontuzēts). 27.01.1917. pieredzēja sava brāļa Gustava dēla – viņa komandētā pulka kritušā poručika Ļeva Kalniņa – nāvi. Izvirzīts paaugstināšanai ģenerālmajora dienesta pakāpē. 18.09.1917. kontūzijas seku un slimības dēļ evakuēts uz ārstniecības iestādēm aizmugurē – caur Maskavu uz Poltavu, kur atradās ģimene. No 09.28.1917. atradās Poltavas evakuācijas punkta rīcībā, skaitoties ārstēšanā. 28.02.1918. formāli atvaļināts no armijas. Hetmaņa Ukrainas valstī 10.06.1918. iecelts par Poltavas kara invalīdu savienības pārvaldes locekli, paliekot šajā amatā visu nākamo politisko pārmaiņu laikā. 25.07.1920. organizāciju slēdza padomju iestādes, bet 24.12.1920. J. Kalniņš tika apcietināts kā kontrrevolucionārs un ieslodzīts Ārkārtējās komisijas cīņai ar kontrrevolūciju (čekas) cietumā Poltavā, uzsākot apsūdzības izmeklēšanu. 18.03.1921. izdevās panākt atbrīvošanu no ieslodzījuma. 04.1921. bēga no Padomju Ukrainas uz Padomju Krieviju un bēgļu ešelonā šķērsoja valsts robežu, ar ģimeni atgriežoties Latvijā.
30.04.1921. Rīgā iedalīts Latvijas armijā (pulkvedis) Galvenā štāba virsnieku rezervē, bet 01.05.1921. iecelts par sevišķu uzdevumu virsnieku karaspēka ģenerālinspektora Mārtiņa Peniķa rīcībā. No 10.09.1921. J. Kalniņš bija 9. Rēzeknes kājnieku pulka komandieris Rēzeknē, taču veselības stāvokļa dēļ (ievainojumu sekas) nespēja pilnvērtīgi pildīt amata pienākumus. No 10.11.1921. Apsardzības ministrijas padomes loceklis Rīgā (24.10.1922. apstiprināts amatā padomē uz nākamajiem diviem gadiem). 1921.–1922. gadā bija ministrijas pārstāvis Latvijas–Vācijas kara zaudējumu norēķinu komisijā. Dienesta dokumentos (atestācijās) atzīmētas karos gūto ievainojumu iespaids uz veselību. 30.05.1924. štatu samazināšanas dēļ atvaļināts, paaugstinot ģenerāļa dienesta pakāpē. Piešķirta pensija. Kā Lāčplēša Kara ordeņa kavalierim J. Kalniņam piešķīra jaunsaimniecību Vecsalacas pagasta Zaļmājās, kur viņš dzīvoja un nodarbojās ar dārzkopību. Darbojies Latvijas Aizsardzības biedrībā (no 12.1924. goda priekšsēdētājs) un Latviešu veco strēlnieku biedrībā (goda biedrs).
Padomju okupācijas laikā atņemta pensija. Vācu okupācijas laikā miris Sarkanā Krusta slimnīcā Rīgā, uz kurieni pārvests no savas saimniecības. Uz Rīgas Brāļu kapiem ar militāru godu izvadīts no arhibīskapa katedrāles (Doma baznīcas).