Strejken slog hem ett lågt högerfotat skott från 15 meter ut efter Byron Moores pass över lådan hade skapat möjligheten. Det visade sig vara det avgörande ögonblicket för en lågmäld tävling.
Båda målvakterna gjorde fina andra hälften räddningar, Oldhams Connor Ripley hålla ute en svidande körning från Stuart Sinclair och Rovers Joe Lumley dykning för att hålla ute en Lee Erwin volley.
En trist första halvlek innehöll inget annat än långsiktiga insatser från båda lagen. Rovers mittfältare Billy Bodin producerade två av dem, men vid varje tillfälle nekades Ripley.
Harrison tog också en räddning från Ripley, medan - i andra änden - Oldham's Tope Obadeyi sköt rakt mot Lumley och när Erwin sköt brett.
Rovers kantade en nära tävling och lämnade Oldham utan något att visa upp för en livlig föreställning.
Matchrapport från Pressföreningen.
Matchändar, Bristol Rovers 1, Oldham Athletic 0.
Andra halvlek, Bristol Rovers 1, Oldham Athletic 0.
Försök blockerat. Chris Taylor (Oldham Athletic) vänster fotade skott från vänster sida av lådan är blockerad.
Billy Bodin (Bristol Rovers) vinner en frispark i defensiva halvan.
Foul av Ousmane Fane (Oldham Athletic).
Försening i match Billy Bodin (Bristol Rovers) på grund av en skada.
Försök missade. Ryan Flynn (Oldham Athletic) höger fotade skott från höger sida av lådan är för hög.
Foul av Ryan Broom (Bristol Rovers).
Ryan McLaughlin (Oldham Athletic) vinner en frispark i den defensiva halvan.
Foul av Robert Harris (Bristol Rovers).
Ryan McLaughlin (Oldham Athletic) vinner en frispark i den defensiva halvan.
Substitution, Oldham Athletic. Lee Croft ersätter Oliver Banks.
Robert Harris (Bristol Rovers) vinner en frispark på högerkanten.
Foul av Ryan Flynn (Oldham Athletic).
Hörnet, Oldham Athletic. Förföljd av Tom Lockyer.
Hörnet, Oldham Athletic. Förföljd av Ellis Harrison.
Hörnet, Oldham Athletic. Förföljd av Ryan Sweeney.
Jermaine Påsk (Bristol Rovers) vinner en frispark på vänsterflygeln.
Foul av Brian Wilson (Oldham Athletic).
Hörnet, Oldham Athletic. Förföljd av Joe Lumley.
Försöket räddades. Lee Erwin (Oldham Athletic) höger fotad skott från höger sida av sex yard box sparas i nedre högra hörnet.
Hörnet, Oldham Athletic. Förföljd av Stuart Sinclair.
Mål!  Bristol Rovers 1, Oldham Athletic 0. Ellis Harrison (Bristol Rovers) höger fotade skott från mitten av lådan till nedre högra hörnet. Hjälpt av Byron Moore.
Försöket räddades. Stuart Sinclair (Bristol Rovers) höger fotade skott från utsidan boxen sparas i det övre vänstra hörnet.
Robert Harris (Bristol Rovers) vinner en frispark på högerkanten.
Foul av Lee Erwin (Oldham Athletic).
Ersättning, Bristol Rovers. Ryan Broom ersätter Joe Partington.
Försök missade. Byron Moore (Bristol Rovers) höger fotade skott från vänster sida av lådan är bara lite för hög.
Substitution, Oldham Athletic. Ousmane Fane ersätter Aiden O'Neill.
Substitution, Oldham Athletic. Paul Green ersätter Tope Obadeyi.
Byron Moore (Bristol Rovers) vinner en frispark i anfallshalvan.
Foul av Ryan Flynn (Oldham Athletic).
Stuart Sinclair (Bristol Rovers) visas det gula kortet för en dålig foul.
Foul av Stuart Sinclair (Bristol Rovers).
Tope Obadeyi (Oldham Athletic) vinner en frispark i den defensiva halvan.
Hörnet, Oldham Athletic. Förföljd av Stuart Sinclair.
Jermaine Påsk (Bristol Rovers) vinner en frispark i defensiva halvan.
Foul av Aiden O'Neill (Oldham Athletic).
Ersättning, Bristol Rovers. Jermaine Påsk ersätter Lukas Jakob.
Ersättning, Bristol Rovers. Byron Moore ersätter Cristian Montaño.
Ellis Harrisons 75-minutersvinnare räckte för Bristol Rovers att förneka Oldham Athletic League En säkerhet när de spelade in en snäv seger på Memorial Stadium.