Marcus Bent's first goal in 17 games gave Charlton manager Iain Dowie a much-needed win over Bolton in the third round of the Carling Cup.
Marcus Bent scored his first goal in 17 matches
Bent scored the winner against the run of play on 17 minutes, rifling home after Jimmy Floyd Hasselbaink's beautifully weighted cross.
Hermann Hreidarsson missed two great chances to double the lead, but it was all Bolton after the break.
However, to Dowie's relief, Charlton managed to weather the storm.
Bolton made a lively start and after just two minutes Idan Tal fired a pinpoint cross from the left which Stelios Giannakopoulos just failed to reach.
Tal had a shot blocked after a long throw created panic in the Charlton defence before Ricardo Vaz Te went close with an overhead kick.
The Addicks should have taken the lead in the 16th minute when Bryan Hughes delivered the perfect corner to Hreidarsson, who headed wide.
But they did manage to break the deadlock a minute later, with Hasselbaink picking out Bent and the former Everton man smashing home.
Bent then had a penalty shout turned down after being dispossessed by Abdoulaye Meite.
Jerome Thomas was then stretchered off after a challenge from Stelios and replaced by Darren Ambrose.
And shortly before half-time Hreidarsson headed another golden opportunity into the arms of Ian Walker.
Radostin Kishishev triggered a flowing move by Charlton in the 57th minute, feeding Bent who in turn released Matt Holland.
The former Republic of Ireland international crossed to the far post, but Hasselbaink could only loop his header over the bar.
Bolton's Tal Ben Haim nodded wide with the goal at his mercy before striker Kevin Davies was denied by Thomas Myhre as Bolton pressed for the equaliser.
Idan Tal then set up a chance for Davies but Luke Young poked the ball away just as the Bolton striker was about to turn and shoot.
The last 20 minutes saw Charlton's goal come under heavy attack with Bolton dominating the midfield - but the home team held on for only their third win of the season - and their second against Wanderers.
Charlton assistant manager Les Reed:
"Yes, we needed that win because we haven't had many.
"Just as any manager who is in this situation, you look for the win that relieves the pressure.
"It's important that we're starting to progress. To keep a clean sheet for the second match in succession shows we're going in the right direction."
Bolton boss Sam Allardyce:
"We should have won, there's no question about that.
"The disappointing thing is that we created so much and played so well in the second half yet didn't win. I'm gutted for the lads.
"You only get one chance in the cup and now we're out of it. Our winning run has come to an end."
Charlton: Myhre, Young, El Karkouri (Sankofa 82), Fortune, Hreidarsson, Hughes, Holland, Kishishev (Rommedahl 88), Thomas (Ambrose 40), Hasselbaink, Marcus Bent.
Subs Not Used: Andersen, John.
Goals: Marcus Bent 17.
Bolton: Walker, Hunt, Meite, Ben Haim, Teimourian (Smith 56), Giannakopoulos, Speed (Campo 63), Tal, Vaz Te, Davies, Pedersen (Fojut 73).
Subs Not Used: Al Habsi, Jamieson.
Booked: Ben Haim.
Ref: D Gallagher (Oxfordshire).