Defeat for the Grecians ended their hopes of making the play-offs but the fourth-placed Robins can still go up automatically with a win over Bradford on the final weekend provided Rotherham lose at home to bottom club Aldershot.
The only goal came inside five minutes as Sido Jombati’s deep free-kick was headed back across goal and fell on the edge of the box to Penn, who fired a low shot into the far corner.
Exeter’s response was good with Jamie Cureton and Jamie Reid going close. Cureton missed a glorious chance when he nipped in behind the defence from Tommy Doherty’s quickly taken free-kick but he snatched at his shot and pulled it wide.
Michael Hector went close to a second for Cheltenham but his header was saved by Artur Krysiak.
Despite the need for two goals to keep their play-off hopes alive, the Grecians never threatened until late on in a terrible second half.
Substitute Jimmy Keohane had their best chances but he blazed over the bar from 18 yards and was then denied by a brilliant fingertip Scott Brown stop.