The Citizens remain fifth in League Two but are just three points adrift of second-placed Stirling Albion, with league leaders Kelty Hearts a further four points better off.
Striker Ouzy See capitalised on a defensive error to round the Annan goalkeeper to slot home the opener in the tenth minute.
It got better for Gary Naysmith' s men just after the half-hour mark at Galabank as James Hilton pounced on a loose ball inside the home side's box to increase the visitors' advantage.
Goalkeeper Brian Schwake made a couple of important stops after the break, but John Robertson's first goal for City with 22 minutes remaining put the Capital outfit out of sight.
Matty Douglas saw red for the hosts before Robert McCartney hit a late consolation.
Naysmith said afterwards: "Being 3-0 up makes it sound like it was comfortable but Annan had a few chances as well and there were some good saves from Brian. So, to come down and win the game and pick up the three points and close the gap on Annan the players deserve a lot of credit.
"The worst part of our performance was when we went 3-0 up and Annan went down to ten men. I think that was down to thinking the game was over and we switched off. But we're in it together. One thing about the injuries we've got in the camp is there is a real unity. We've been getting the results recently so it's one defeat in six games.
"We want to try and finish this first quarter on a high and try and get another three points on Friday against Cowdenbeath. They are at the wrong end of the table from where they want to be but it will be a difficult game. Then there is the two-week which is probably coming at a good time for us so the hope is to try and get some players back and, for the ones who have played a lot of minutes recently, get some much-needed rest."