Besökarna var före efter fem minuter när debutant målvakt Stuart Moore gjorde en hasch av hans slag och Will Boyle gjorde på nära håll.
Isaac Vassell missade ett öppet mål från fem meter för värdarna och Jonathan Smiths huvud blev sedan rensat från linjen av Jack Barthram.
Värdarna kom återigen nära en jämnare halvvägs genom hälften när Smiths halvvolley gick nära, medan Jordan Cooks underbara frispark kanonerad mot vinkeln av post och bar.
Robins bröt dock med förödande fart för att göra det 2-0 på 28 minuter, med Carl Winchester plocka ut Barthram att skjuta förbi Moore.
Luton minskade underskottet på 41 minuter, Vassell smäller hem inifrån lådan.
Cheltenham hade en tredje på timmen, med Billy Waters på handen för att slå Moore och poäng hans 12: e för säsongen.
Hatters var tillbaka i spelet igen i 72: a minuten när Liam Davis vände Olly Lee borrade frispark i sitt eget nät, men värdarna kunde inte hitta en utjämnare.
Matchrapport från Pressföreningen
Matchen slutar, Luton Town 2, Cheltenham Town 3.
Andra halvlek, Luton Town 2, Cheltenham Town 3.
Försök missade. Scott Cuthbert (Luton Town) höger fotade skott från mitten av lådan är bara lite för hög.
James Justin (Luton Town) visas det gula kortet för en dålig foul.
Foul av James Justin (Lutonstaden).
Kyle Storer (Cheltenham Town) vinner en frispark i anfallshalvan.
Foul av Glen Rea (Lutonstaden).
Daniel Wright (Cheltenham Town) vinner en frispark i anfallshalvan.
Försök blockerat. Jordan Cook (Luton Town) höger fotade skott från mitten av lådan är blockerad.
Substitution, Cheltenham Town. Kyle Storer ersätter Jordan Cranston på grund av en skada.
Försening i match Jordan Cranston (Cheltenham Town) på grund av en skada.
Försök blockerat. Jordan Cook (Luton Town) höger fotade skott från utsidan lådan är blockerad.
Försök missade. Liam Davis (Cheltenham Town) höger fotade skott utanför lådan är bara lite för hög.
Försök missade. Manny Onariase (Cheltenham Town) header från mycket nära håll är bara lite för hög.
Hörnet, Cheltenham Town. Förföljd av Scott Cuthbert.
Foul av Scott Cuthbert (Lutonstaden).
James Rowe (Cheltenham Town) vinner en frispark i den defensiva halvan.
Jordan Cook (Luton Town) vinner en frispark i defensiva halvan.
Foul av Manny Onariase (Cheltenham Town).
Foul av Pelly Ruddock (Luton Town).
Harry Pell (Cheltenham Town) vinner en frispark i den defensiva halvan.
Substitution, Cheltenham Town. Daniel Wright ersätter Kyle Wootton.
Ett eget mål av Liam Davis i Cheltenham Town.  Luton stad 2, Cheltenham stad 3.
William Boyle (Cheltenham Town) visas det gula kortet för en dålig foul.
Jordan Cook (Luton Town) vinner en frispark i defensiva halvan.
Foul av William Boyle (Cheltenham Town).
Substitution, Luton Town. Jake Gray ersätter Luke Gambin.
Försening i matchen Harry Pell (Cheltenham Town) på grund av en skada.
Foul av Olly Lee (Lutonstaden).
Harry Pell (Cheltenham Town) vinner en frispark i anfallshalvan.
James Justin (Luton Town) vinner en frispark i anfallshalvan.
Foul av Liam Davis (Cheltenham Town).
Foul av Isaac Vassell (Lutonstaden).
Daniel O'Shaughnessy (Cheltenham Town) vinner en frispark i defensiva halvan.
Försök blockerat. James Justin (Luton Town) höger fotade skott från höger sida av lådan är blockerad.
Foul av Lawson D'Ath (Luton Town).
Harry Pell (Cheltenham Town) vinner en frispark i anfallshalvan.
Substitution, Luton Town. Lawson D'Ath ersätter Jack Marriott.
Mål!  Luton stad 1, Cheltenham stad 3. Billy Waters (Cheltenham Town) höger fotade skott från mitten av lådan till övre högra hörnet. Hjälpt av Kyle Wootton.
Försök blockerat. Jack Marriott (Luton Town) höger fotade skott utanför lådan är blockerad.
Struggling Cheltenham producerade en fantastisk 3-2 seger för att bedöva League Two promotion-chasers Luton Town på Kenilworth Road.