Promotion favourites Sunderland kept their 100 per cent home record intact – but only just after being pushed all the way by Wanderers.
After falling behind to an early Carl Winchester goal, Ian Evatt’s men did exactly what their manager predicted by going toe-to-toe against the joint League One leaders.
Wanderers had chances to level throughout, although it was a completely dominant second-half performance which brought the visitors their best opportunities of earning the point which was the least a top-notch performance deserved.
Eoin Doyle was closest to a leveller as he kept knocking on the Black Cats’ door.
To his frustration the goal wouldn’t come as Sunderland hung on – to the relief of the majority in a 32,000 crowd.
But despite suffereing back-to-back defeats for the first time since December, Wanderers again did enough to show they can mix it with the best the division has to offer.
Wanderers were unchanged from the side that had lost to Rotherham but their bid to become the first side to win at the Stadium of Light this season got off to a shaky start with an early injury to goalkeeper Joel Dixon.
Back at the club where he started his career, Dixon dug himself out of a spot of bother with a brave block to deny Alex Pritchard.
But his intervention came at a price with a blow to the face which required lengthy treatment and a change of kit.
And 15 minutes later the pain was of a different kind as Dixon was given no chance from Winchester’s close-range finish as the full-back got forward to convert a low cross from Dennis Cirkin.
Wanderers had taken their time to settle but responded impressively to going behind as they played their way into the contest and were unlucky not to be level by the break.
Doyle was only inches away from steering a superb ball from Gethin Jones into the corner of the net at the end of an excellent move triggered from the back by Dixon.
And the hard-working striker again went close as Black Cats keeper Thorben Hoffman twice got lucky when he spilled a shot from Oladapo Afolayan into the path of Doyle but saw the rebound bounce kindly back into his body from close range.
Wanderers’ skipper Antoni Sarcevic also had half a chance following a well-worked corner as Bolton peppered the Wearsiders’ penalty area for a spell before having to ride out a period of Sunderland pressure – some of it self-inflicted – late in the opening half.
The hosts maintained the moment after the break and within two minutes of the re-start should have doubled their lead but again Dixon thwarted Pritchard with a vital smothering block inside the six-yard box.
Wanderers were very much still in the contest, though, with opportunities to strike on the break.
With an hour gone there was a first change for the visitors as Elias Kachunga replaced Lloyd Isgrove who was injured in a clash of heads.
And moments later the Whites were nearly level. Liam Gordon did well to lead a counter-attack and from his lay-off Josh Sheehan delivered a cross which Doyle met with a header that brought a flying save out of Hoffman.
Wanderers were seeing nearly all of the ball and from another fine break triggered by Sarvevic, Afolayan sent a deflected effort just wide with Doyle also striving to get a touch.
And with Evatt’s men now virtually camped in the Sunderland half George Johnston was next to go close to a deserved leveller as the defender - who had been outstanding at the other end - met Afolayan’s superb cross with a far-post volley which went just the wrong side of the post.
Wanderers did everything but score as Doyle was again twice thwarted as he battled away in the box and then nodded wide at the back post.
And even seven minutes of added time weren’t quite enough for the visitors to find a way through as their non-stop effort couldn’t bring them a fitting reward.
Bolton: Dixon; Jones, Santos, Johnston, Gordon (John 70); Williams; Isgrove (Kachunga 60), Sarcevic, Sheehan (Lee 85), Afolayan; Doyle. Substitutes: Gilks, Delfouneso, Thomason, Baptiste.
Booked: Doyle, Afolayan, Santos
Sunderland: Hoffman; Winchester, Flanagan, Doyle (Wright 89), Cirkin (Huggins 65); McGeady, O’Nien, Neil, Embleton (Evans 65); Pritchard (Dajaku 65), Stewart. Substitutes: Burge, Alves, Broadhead.
Referee: Sam Purkiss