Dimitar Rangelov's early header gave the hosts the lead at the Vasil Levski National Stadium but Nicklas Bendtner got the visitors back on level terms soon after Ivan Bandalovski's 27th-minute red card.
The result left the Danes still searching for their first win of the qualifying campaign, having drawn 0-0 with the Czech Republic in their first match last month. Bulgaria, meanwhile, slipped two points off the pace following group leaders Italy's 3-1 win in Armenia earlier on Friday evening.
Rangelov headed Bulgaria into an early lead, connecting with Georgi Milanov's cross from the right in the seventh minute.
The hosts suffered a setback, though, when CSKA defender Ivan Bandalovski was sent off 20 minutes later for a bad foul on Daniel Wass.
And Denmark made their extra man tell before half-time, Juventus' on-loan Arsenal striker Bendtner despatching his header into the top-right corner following Michael Krohn-Dehli's cross from the left.
Denmark's Christian Eriksen went closest to grabbing a winner after the interval, the Ajax midfielder unleashing a left-footed attempt in the 51st minute only to see it hit the bar.
Bulgaria's best effort of the second half came 15 minutes from time, but Denmark goalkeeper Stephan Andersen was in the right place to parry Stanislav Manolev's blast from the edge of the box.