Cologne came into the match with a good recent record against its host, having taken four points off Dortmund last season, including a 2-1 win in this fixture.
The visitors started well here, pinning Dortmund back inside its own half for much of the opening 20 minutes, but any clear-cut chance failed to materialise.
Mark Uth had the ball in the net only for it to be ruled out for handball before Dortmund began to make inroads of its own.
Marco Reus sliced a shot wide after good work from Marius Wolf as Marco Rose’s side began to grow into the game, taking the lead just before the break when Hazard glanced in Jude Bellingham’s inviting cross from the right.
The second half was almost a carbon copy of the first, with Cologne on top for long periods, this time fashioning a number of scoring chances.
Anthony Modeste had the majority of them, drilling just wide before seeing a header saved by Kobel, while Uth also made a nuisance of himself, but was likewise unable to get the better of the Dortmund goalkeeper.
That lack of a cutting edge came back to haunt Cologne, as the home side extended its lead midway through the half when Steffen Tigges headed in a Julian Brandt corner soon after coming off the bench.
The Billy Goats continued to search for a way back into the match even as the final whistle approached, but despite ending the game with 18 shots to Dortmund's seven, they could not find a way past Kobel, who helped the home side to an eighth league win of the season.
The result keeps Dortmund in second on the league table, one point behind Bayern Munich after 10 matches, while Cologne dropped to 10th.