The victory secures Chiefs a Heineken Cup place for next season and allows them to leapfrog their opponents into fifth place in the table.
It took the home side just five minutes to put the game's first points on the board when smart play from Jack Nowell allowed Dean Mumm to go over, before Steenson's penalty made it 10-0.
Chiefs were awarded a second try nine minutes later, when Damien Welch was credited with scoring after a short delay, before Steenson struck another penalty that extended the hosts' advantage to 18 points.
However, Gloucester responded when Jonny May raced clear to touch down before Charlie Sharples added a try six minutes later to bring the visitors within touching distance, after Freddie Burns had converted an earlier penalty.
They completed the comeback in the 32nd minute when Chiefs were hit on the break by James Trinder, who put Gloucester in front.
Their lead didn't last long following a series of scrums that looked like going nowhere; referee Greg Garner awarded Exeter a penalty try, which Steenson converted to send the home side into half time 25-22 in front.
Chiefs extended their advantage with the first minute of the second half, as Steenson successful kicked a central penalty from 35 metres before adding another three points 10 minutes later.
Steenson made the score 34-22 with his third successive penalty kick moments after.
Gloucester again responded with 22 minutes left to play as Rob Cook went over, before Burns's penalty shortened the deficit to 34-32.
With 16 minutes to go, Steenson converted a difficult wide penalty to give the Chiefs a five-point advantage.
Eight minutes from time, Gloucester drew level when smart handling on the short side allowed Burns to score.