The veteran centre-back had given League One Bury a deserved lead in the 35th minute and although he was sent off on the hour mark for a second bookable offence, Exeter were unable to take the tie to a replay.
Bury dominated the first half, with Peter Sweeney firing over before Dominic Poleon's shot clipped the top of the crossbar.
Alan Gow proved a constant threat for Exeter and was fouled for Sodje's first yellow card before testing Bury goalkeeper Trevor Carson with the resulting free-kick. But Bury went in front as Sweeney played a short corner to David Worrall and Sodje rose highest to head his cross home at the far post.
Poleon drew a fine save from Artur Krysiak just after the break and half-time substitute John O'Flynn volleyed narrowly over. Carson gathered Gow's shot at the second attempt before the Scottish striker turned Sodje again, drawing his second booking.
Liam Sercombe then had a close-range shot blocked while Gow fired narrowly wide but Bury went closest to scoring in a thrilling finale when Troy Hewitt's effort struck the crossbar.