The first half was a fairly scrappy affair, and it was the home side who were first to threaten a goal. Paul Mayo's long throw in the 17th minute went all the way into the net beyond the clutches of Boaz Myhill, but the officials adjudged that it went straight in and disallowed it.
Myhill was the busier of the two keepers, although there weren't any dangerous shots on either goal until the 43rd minute. Debutant Junior Lewis won the ball and passed it to Ben Burgess, but his shot crashed back off the crossbar.
Myhill kept out a couple of early second half efforts, but it was one-way traffic on Alan Marriott's goal from then on. Stuart Elliott and Stuart Green were dangerous on the wings, but the latter was brought off for Jason Price on the hour mark.
That didn't affect City's attacking momentum though, with Burgess having two shots blocked.
Jamie Forrester was called upon in the 70th minute to try and add a finishing touch to City's attacking moves, but within minutes of coming on he had two efforts with the same outcome as before.
Burgess put a header over, and soon after crossed to Elliott for the best chance to open the scoring, but the Northern Irishman should have done much better as he headed off target.
The game was turned on its head in the 78th minute as Lincoln stole a shock lead. A throw-in couldn't be cleared further than Peter Gain just inside the box, and his acrobatic strike flew into the goal.
Forrester assisted Elliott in a great chance to reply immediately, but he couldn't find a way past Marriott.
Lincoln sealed their win with a second goal in the 83rd minute. Gain got to the by-line after a break down the right and pulled the ball back for Mayo to tap in and catch City on the counter attack.
That was the nail in the coffin for City who were left to rue their missed chances and wasted pressure.
City line-up (4-4-2): Myhill; Marshall, Joseph, Delaney, Thelwell; Green (Price 60), Hinds (Holt 81), Lewis, Elliott; Walters (Forrester 70), Burgess.
Un-used subs: Musselwhite, France.