Two goals from Bolton striker Marvin Sordell set up a fourth-round tie with Everton and knocked Sunderland out of the FA Cup.
The home side dominated the first half but failed to make it count with Adam Johnson going closest.
Sordell's first of the night came from the penalty spot after Darren Pratley was bought down by Jack Colback.
He doubled the advantage and scored his fourth of the season firing home from close-range.
There was another boost for the visitors when United States international Stuart Holden came on to make his first appearance since September 2011, after recovering from a serious knee injury.
Bolton's FA Cup form
Since going out in the third-round to Sunderland in 2009, Bolton reached the last 16 of the FA Cup in 2010, the last four in 2011 and the quarter-finals last season.
Bolton, who led 2-0 in the first match before being pegged back, opted to make six changes from the side that drew with Millwall at the weekend, while Martin O'Neill named his strongest side as he looked to progress in the competition.
It was the home side who started the brighter and Johnson was the pick of the players but he was twice denied by Andy Lonergan in the Bolton goal.
The visitors withstood the pressure, which saw Titus Bramble and Connor Wickham also go close before the interval, and opened the scoring with their first decent chance.
Pratley combined well with Chris Eagles before bursting into the box, only to be bought down.
Sordell, who has found goals hard to come by this season, made no mistake from the spot, beating Sunderland keeper Simon Mignolet.
The second goal came 10 minutes later when Eagles threaded his pass to Tyrone Mears, who squared for Sordell to force his second under Mignolet, from close range.
Sebastian Larsson, on as a second-half substitute, went close with a late free-kick for the Black Cats but Bolton held on and will welcome Everton to the Reebok Stadium in 12 days time.
Sunderland Martin O'Neill: "It was really disappointing, following Saturday's excellent display, and we need to start getting some consistency to our game.
"We're going to have to get it. This is a big club and we shouldn't be spending 40 years without winning something, we really shouldn't.
"I know some people field weakened sides but we didn't, we tried to win tonight and we weren't able to do it and that was very disappointing."
Bolton manager Dougie Freedman: "We had a game plan tonight and I felt we stuck to it. I think we defended very well and made sure in the first 60 minutes we limited Sunderland to a few opportunities.
"We're looking forward to it (Everton). We feel right now that we can perform against anyone, and if we defend like we did tonight and keep our discipline, we have definitely got every chance."
- 22 Mignolet
- 02 Bardsley
- 12 Kilgallon
- 19 Bramble
- 08 Gardner
- 14 Colback (Cattermole - 76' )
- 15 Vaughan
- 21 Johnson (Larsson - 71' )
- 23 McClean
- 28 Sessegnon
- 10 Wickham (Campbell - 71' )
- 20 Westwood
- 06 Cattermole
- 07 Larsson
- 09 Campbell
- 11 McFadden
- 25 Saha
- 24 Lonergan
- 02 Mears
- 03 Alonso
- 12 Knight
- 18 Ricketts
- 07 Eagles
- 20 Spearing
- 21 Pratley
- 25 Vela (Holden - 74' )
- 17 Afobe (Lee - 70' )
- 19 Sordell (K Davies - 85' )
- 01 Bogdan
- 05 Ream
- 22 Holden
- 27 Lee
- 09 Ngog
- 14 K Davies
- 38 Odelusi
Live Text Commentary
Full Time The referee ends the match.90:00 +1:29
Foul by Jay Spearing on Fraizer Campbell, free kick awarded. Phil Bardsley restarts play with the free kick.90:00 +0:48
Phil Bardsley concedes a free kick for a foul on Tyrone Mears. Chris Eagles takes the free kick.90:00 +0:01
Free kick awarded for an unfair challenge on Kevin Davies by Matthew Kilgallon. Free kick taken by Chris Eagles.84:29
Shot comes in from Sebastian Larsson from the free kick, save made by Andy Lonergan. The ball is delivered by Sebastian Larsson, Headed effort from deep inside the penalty area by Matthew Kilgallon goes harmlessly over the crossbar.84:29 Substitution
Substitution Kevin Davies replaces Marvin Sordell.84:29
Free kick awarded for an unfair challenge on Lee Cattermole by Jay Spearing.82:52
Unfair challenge on Stephane Sessegnon by Chris Eagles results in a free kick. The free kick is delivered right-footed by Sebastian Larsson from left channel, clearance made by Jay Spearing. Sebastian Larsson sends in a cross, clearance made by Zat Knight.81:33
Corner taken by Chris Eagles.78:13
Shot from outside the box by Phil Bardsley goes wide right of the target.75:01 Substitution
Substitution Lee Cattermole on for Jack Colback.75:01
Craig Gardner fouled by Stuart Holden, the ref awards a free kick. Strike comes in from Craig Gardner from the free kick.74:23
Fraizer Campbell fouled by Samuel Ricketts, the ref awards a free kick. Sebastian Larsson takes the free kick.73:44 Substitution
Substitution Joshua Vela goes off and Stuart Holden comes on.72:59
Assist on the goal came from Tyrone Mears.72:59 Goal scored
Goal! - Marvin Sordell - Sunderland 0 - 2 Bolton Marvin Sordell finds the net with a goal from inside the box low into the middle of the goal. Sunderland 0-2 Bolton.70:43
Simon Mignolet takes the direct free kick.70:43 Substitution
Substitution Adam Johnson leaves the field to be replaced by Sebastian Larsson.70:43 Substitution
Substitution Connor Wickham leaves the field to be replaced by Fraizer Campbell.70:43
Free kick awarded for an unfair challenge on Jack Colback by Tyrone Mears.
Substitution Chung-Yong Lee comes on in place of Benik Afobe.69:12
Adam Johnson has an effort at goal from outside the penalty box which goes wide left of the goal.67:07
Effort from 20 yards by Craig Gardner. Samuel Ricketts gets a block in. Inswinging corner taken left-footed by Adam Johnson from the right by-line, Zat Knight makes a clearance.65:42
Adam Johnson is caught offside. Andy Lonergan takes the free kick.63:59
Assist on the goal came from Darren Pratley.63:59 Goal scored
Goal! - Marvin Sordell - Sunderland 0 - 1 Bolton Power penalty scored by Marvin Sordell. Sunderland 0-1 Bolton.63:04
Jack Colback concedes a Penalty for a foul on Darren Pratley.59:39
Chris Eagles takes a shot from just outside the penalty area which clears the crossbar.58:21
Free kick awarded for an unfair challenge on Marcos Alonso by Adam Johnson. Marcos Alonso restarts play with the free kick.54:37
Shot from just outside the area by Connor Wickham misses to the left of the target.53:39
Marvin Sordell takes a shot. Simon Mignolet makes a save.52:49
Shot from outside the box by Marcos Alonso misses to the left of the goal.48:50
Foul by David Vaughan on Marvin Sordell, free kick awarded. Free kick taken by Jay Spearing.47:31
Darren Pratley concedes a free kick for a foul on Craig Gardner. Direct effort from the free kick comes in from Craig Gardner.45:01
The second half begins.45:00 +1:14 Half time
Half Time The ref blows to signal half-time.43:34
The ball is swung over by James McClean, Connor Wickham takes a shot. Save by Andy Lonergan.43:14
Foul by Zat Knight on Stephane Sessegnon, free kick awarded. Direct free kick taken by Stephane Sessegnon.41:42
Corner taken right-footed by Chris Eagles, clearance made by Craig Gardner.40:23
Stephane Sessegnon crosses the ball, Titus Bramble produces a left-footed shot from the edge of the box and misses to the right of the target.38:39
Free kick awarded for a foul by Joshua Vela on Stephane Sessegnon. Adam Johnson has an effort direct from the free kick, Andy Lonergan makes a save. Adam Johnson takes a inswinging corner.36:16
Long range shot by Chris Eagles goes wide right of the net.35:18
David Vaughan takes a shot. Zat Knight gets a block in.33:18
Free kick awarded for a foul by Darren Pratley on Craig Gardner. Titus Bramble restarts play with the free kick.32:08
Free kick awarded for a foul by Benik Afobe on Jack Colback. Craig Gardner shoots direct from the free kick, Andy Lonergan makes a save.29:53
Darren Pratley concedes a free kick for a foul on Stephane Sessegnon. Craig Gardner has an effort direct from the free kick, blocked by Darren Pratley. Inswinging corner taken from the right by-line by Adam Johnson, save by Andy Lonergan.26:51
Inswinging corner taken right-footed by Craig Gardner, save by Andy Lonergan.25:02
Stephane Sessegnon produces a right-footed shot from just outside the penalty box that goes wide left of the target.21:31
Chris Eagles takes a shot. Blocked by David Vaughan.20:13
The ball is delivered by James McClean, Adam Johnson takes a shot. Andy Lonergan makes a save. Inswinging corner taken by Adam Johnson from the right by-line.18:44
James McClean has an effort at goal from just inside the box that misses to the right of the target.17:19
Free kick awarded for an unfair challenge on Stephane Sessegnon by Marcos Alonso. Direct free kick taken by Adam Johnson. Shot by Craig Gardner from outside the box goes over the target.14:58
Free kick awarded for an unfair challenge on Jack Colback by Benik Afobe. Jack Colback takes the free kick.14:33
The ball is crossed by James McClean, Marcos Alonso makes a clearance.12:49
David Vaughan gives away a free kick for an unfair challenge on Jay Spearing. Free kick taken by Jay Spearing.10:41
Inswinging corner taken by Jay Spearing from the left by-line, Zat Knight takes a shot. Save made by Simon Mignolet.9:31
Marvin Sordell is ruled offside. Simon Mignolet restarts play with the free kick.8:31
Foul by Phil Bardsley on Benik Afobe, free kick awarded. Andy Lonergan takes the direct free kick.2:55
Foul by Jack Colback on Chris Eagles, free kick awarded. The free kick is delivered right-footed by Jay Spearing from right channel, clearance by Titus Bramble.2:21
Outswinging corner taken left-footed by David Vaughan, save made by Andy Lonergan.1:18
Foul by Jack Colback on Marvin Sordell, free kick awarded. Jay Spearing takes the direct free kick.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers