A cool 86th-minute finish by substitute Lenell John-Lewis wrapped up a second away win of the season for Lincoln.
The first decent chance fell to the hosts after five minutes. Liam Dickinson rose well to meet Adam Griffin's in-swinging corner-kick, but headed just wide.
At the other end Dany N'Guessan was looking lively for City, and he saw a fine low drive expertly beaten away at the near post by Conrad Logan.
Stockport fluffed a great chance on 23 minutes. Dickinson squared a super ball into the path of David Poole, but he screwed a shot wide from eight yards.
Dickinson himself then saw a near-post shot deflected wide, but it was Lincoln who tested Logan again on the half-hour mark. Paul Green crossed for Jamie Forrester, but his header went straight to the Stockport keeper.
On 36 minutes Lincoln keeper Ben Smith produced a smart flying save to keep out another decent Dickinson header and soon after Smith again thwarted Dickinson after a mazy run and shot.
It was Lincoln who broke the deadlock five minutes after the restart. Stockport keeper Logan could only palm N'Guessan's cross into the path of Ben Wright, and he made no mistake from six yards.
Wright quickly made it 2-0 for City when he volleyed home Owain Warlow's cross comfortably.
Dickinson fired a shot just wide for Stockport, but the home side's night slumped to a new low on 75 minutes when substitute Adam Proudlock was sent off following a lunge on Green.
Dickinson did get a reward with a goal on 84 minutes for Stockport, but John-Lewis' effort means it's now five straight home league defeats for the hosts.