Poland’s Robert Lewandowski struck the winner just before the break with Cologne goalkeeper Michael Rensing making half a dozen sensational saves and the hosts rattling the bar twice.
Champions Bayern Munich, whose title defence all but ended last week with defeat by Dortmund, are fourth on 42 points and travel to third-placed Hanover 96 on Saturday.
Cologne felt the full force of Dortmund’s formidable attack early on but Rensing, who joined on a free transfer this season after leaving Bayern Munich, was in superb form and kept the hosts at bay several times with spectacular saves.
Dortmund’s pressure finally paid off when Lewandowski picked up the ball outside the box and scored with powerful drive which went in off the post.
Rensing was again called upon early in the second half to palm away a Kevin Grosskreutz shot from 15 metres and then denied Neven Subotic soon afterwards.
Cologne striker Milivoje Novakovic should have levelled after 56 minutes when he raced clear but shot wide from eight metres in their only real chance of the second half.
Dortmund kept coming and hit the bar twice in the final minutes through Lucas Barrios and Nuri Sahin.