Mediauppspelning stöds inte på den här enheten
Elis Ligtlee av Nederländerna ledde från fronten för att vinna guld, med Australian Anna Meares i tredje.
James, 24 år, missade London Games och hade sedan den bästa delen av 18 månader ute med skador och hälsoproblem.
"Jag var så desperat efter den där medaljen", sa den walesiske stjärnan till BBC Sport. "Jag kan inte fatta att det hände."
Hon var sist med ett varv att gå men hittade en väg runt utsidan för att tvinga sin väg in i andra på linjen för att vinna Storbritanniens fjärde medalj på banan.
Det var en andra medalj i två olympiska kierins för GB efter Victoria Pendleton vann evenemanget i London, där den gjorde sin debut.
Silvermedaljen kom bara några minuter efter att Laura Trott blev den första brittiska kvinnan att vinna tre guldmedaljer när hon vann lagjakt guld med Joanna Rowsell-Shand, Elinor Barker och Katie Archibald på en ny rekordtid.
Abergavenny-födde James, som bevakades av sin pojkvän George North, Wales och brittiska och irländska Lions rugbyspelare, sade till BBC One: "Jag kom in med bra form och jag älskar keirin och jag älskar racing.
"När jag kom igenom första ronden ville jag bara njuta av dagen.
"Det var så speciellt att jag har tio av min familj här. Min mamma har aldrig varit på ett långdistansflyg förut.
"Jag har fått så mycket stöd från British Cycling, det har varit en tuff två år och jag kunde inte ha gjort det utan allas hjälp."
Norrut twittrade man senare: " Ord kan inte beskriva hur stolt jag är! Allt hon har gått igenom. Vilken hjälte."
James genomgick en operation 2014 för att avlägsna potentiellt cancerceller efter ett rutinmässigt utstrykstest.
Den rädslan följdes av nyckelhålsoperation på en axelskada och sedan månader av rehabilitering för en långvarig knäskada.
Brittiska Becky James studsade tillbaka från en allvarlig knäskada och en cancerskräck för att ta silver med en sen ökning i OS-kvinnors keirin i Rio.