Substitute Ocampos was the star for Claudio Ranieri's Cote d'Azur outfit, when he latched onto a low cross from the right and pounced inside a crowded penalty box to shoot past Stephane Rufier with just three minutes remaining.
The win keeps Monaco unbeaten with six victories from nine matches and lifts them three points clear of Paris Saint-Germain who travel to arch-rivals Marseille .
"We're very happy, we played well, created chances against a very strong Saint-Etienne team," said Monaco captain Eric Abidal.
"We had to find a way to open up the match which we did by changing the system and it came down to mental strength at the end. Everyone's happy."
Monaco's Italian coach Ranieri however said he had other plans for rather than watch the French 'classico' between Marseille and PSG.
"? I'll be in London where I have a house. The Marseille v PSG classico, well I'll be at a restaurant as it's my wife's birthday."
Belgian international Yannick Ferreira Carrasco gave Monaco the lead after 15 minutes with a cool finish following a 30-metre pass from James Rodriguez which put him behind the back four before the visitors equalised just inside the second half.
Saint-Etienne coach Christophe Galtier could be heard blasting his players at half-time and his motivational talk initially did the trick.
A good move down the left wing allowed Renaud Cohade to feed fellow Frenchman Romain Hamouma with a long pass which the 26-year-old midfielder controlled perfectly, before sliding the ball past Croatian goalkeeper Danijel Subasic.
Saint-Etienne had a golden chance to take the lead in the dying moments when Ivory Coast and former Leeds winger Max Gradel was alone through on goal but Subasic came to their rescue with a fine stop from close range.
The match appeared heading for a draw before the Ocampos winner kept the pressure on Paris Saint-Germain and Marseille.
Lille are fourth, just behind Marseille, after brushing aside Ajaccio 3-0, Nantes continued their fine form and edged Nice, who lost 1-0 at Toulouse, out of fifth with a 3-0 drubbing of Evian.
Rennes lost their second Brittany derby in as many weeks by losing 2-0 at Guingamp and Reims were pegged back by a late equaliser at Valenciennes in a match that finished 1-1.