Pierre-Emerick Aubameyang netted twice to take his season's tally to 19, while Mathieu Bodmer and Renaud Cohade were also on target after Adrian Mutu had struck the opener for Ajaccio with the Romanian then adding a late consolation for the Corsican club.
Victory for Christophe Galtier's side saw it climb above Lille into fourth and close to within two points of Lyon for the final UEFA Champions League spot, with second-place Marseille a further two points ahead.
Defeat for Ajaccio means it is just two points clear of the relegation zone, having won just once in its last nine outings.
The win comes four days after the euphoria of celebrating St Etienne's first trophy in 32 years after a 1-0 triumph over Rennes in the French League Cup final.
Meanwhile, Troyes secured a vital three points in its uphill fight to remain in the top division with a 2-1 win at slumping Rennes.
Jean-Christophe Bahebeck gave Troyes an early lead before Jeremie Brechet added a second on 27 minutes, while Julien Feret's penalty on the half hour provided nothing more than a consolation for Rennes, which saw its winless run extended to nine matches.
Troyes stayed bottom despite the victory but drew to within six points of safety with five games remaining, while Rennes remained 10th after a fifth straight loss.