Carlisle led at half-time through a Sean O’Hanlon header, but Thomas scored twice inside a minute after the break and Scott Wagstaff added a third.
Although Liam Noble pulled one back for the home side, Thomas was again on target for City to make sure of the victory in the closing minutes.
City posed a couple of early threats to the Carlisle defence. Goalkeeper Mark Gillespie had to be on the alert to come out and block Lewis Dunk’s effort then Marlon Pack fizzed a shot just past the right-hand post.
But it was Carlisle who took the lead midway through the first half when central defender O’Hanlon thumped home a towering header from 10 yards after James Berrett had picked him out with a corner from the right.
Two goals inside a minute by Emmanuel-Thomas changed the whole complexion of the game just after half-time.
The first was a free header from eight yards after Brendan Moloney had caught the Carlisle rearguard napping with a cross from the by-line, determinedly rescuing a ball which had looked to be going out.
Bobby Reid slipped Emmanuel-Thomas through in the inside left channel for his second and the striker finished in style, leaving Gillespie helpless with a shot from 12 yards.
A brilliant finish by Wagstaff put City further ahead in the 71st minute, his shot from the right-hand angle of the box rocketing past Gillespie and into the far corner.
Noble fired low through a packed penalty area to find the bottom corner in the 80th minute only for Emmanuel-Thomas to slam a left-footed shot into the Carlisle net from 12 yards just four minutes later.