Moses Odubajo had cancelled out Wes Thomas's 10th-minute header in the final quarter, but Revell - who enjoyed a year-long spell at Brisbane Road - came back to haunt his former club by smashing home from 30 yards to shift Russell Slade's men out of the top two.
Meanwhile, Preston North End consolidated their position in the playoff places with a routine 2-0 win over third-from-bottom Notts County at Deepdale.
Simon Grayson's charges had to be patient, though, with 65 minutes elapsing before the Lilywhites opened the scoring through Craig Davies.
Preston secured the points six minutes later courtesy of a Joe Garner penalty as the hosts remain fourth in the standings, six points clear of seventh-placed Peterborough United, whose clash with Walsall was postponed.
Results in full: Bristol City 2-1 Carlisle United, Crewe Alexandra 3-0 Sheffield United, Gillingham 3-2 Port Vale, MK Dons 0-1 Port Vale, Preston North End 2-0 Notts County, Rotherham United 2-1 Leyton Orient, Shrewsbury Town 1-1 Brentford, Swindon Town 0-1 Oldham Athletic, Wolverhampton Wanderers 2-0 Bradford City