Swansea City continued their impressive Premier League start as they extended their unbeaten home record to slide Bolton further into relegation trouble.
Joe Allen enhanced his reputation by firing Swansea in front moments after Bolton went down to 10 men when Ricardo Gardner was given a second yellow card.
Scott Sinclair's third successive home penalty doubled Swansea's lead as Angel Rangel was fouled by Darren Pratley.
Danny Graham scored an own goal before his late strike sealed Swansea victory.
The Welsh side should have won more comfortably as both Graham and Sinclair hit the Bolton woodwork and Allen missed another good chance in a dominant second-half display.
Their defeat adds to Bolton boss Owen Coyle's early season problems as the Trotters fall another place following their eighth defeat in nine league games.
Swansea moved into the top half of the table with a commanding performance that will have pleased manager Brendan Rodgers.
The Swans felt they should have had a penalty early in the first half following Bolton defender David Wheater's challenge at a corner on Swansea skipper Garry Monk but referee Mark Clattenburg ignored appeals.
Bolton enjoyed the best opening of the first half as lone striker David Ngog - captain Kevin Davies having been named among the substitutes - cracked a shot from 20 yards but his effort was tipped over by Swansea goalkeeper Michel Vorm.
Graham should have given Swansea the lead just after the break but, after shrugging off Gary Cahill's challenge, the Swansea striker fired Scott Sinclair's cute pass wide.
Swansea cranked up the pressure when Gardner, cautioned for a foul on Nathan Dyer, was dismissed for holding back the lively Swans winger just after restart.
And from the resulting Mark Gower free-kick, Allen took control and ran through a gaping hole in the Bolton defence before sliding the ball coolly inside keeper Jussi Jaaskelainen's near post.
The Wales midfielder's second goal in successive games highlighted why Bolton have the worst defensive record in the Premier League.
Swansea v Bolton facts
- Swansea had not beaten Bolton since October 1988 in the old Division Three
- Danny Graham's own goal was the first goal Swansea had conceded in the league at home for nine hours and 53 minutes
- Bolton have not drawn for 20 league matches, equalling the Premier League record
Sinclair extended the lead with a calmly dispatched penalty eight minutes later and Allen should have made the game safe for Swansea but the unmarked midfielder fired Dyer's cutback wide from 15 yards.
Graham then hit the crossbar before the Swansea striker's own goal, slicing an inswinging left-wing cross from Chris Eagles into his own net, handed Bolton a lifeline.
Swansea nerves, not helped by letting a two-goal lead slip at Wolves last week, were not eased when Sinclair smashed the ball against the bar as he failed to convert another dangerous Dyer cut-back.
Graham was denied by Paul Robinson's goal-line clearance but then sealed the win in added time with his fourth goal in successive games.
Swansea's record-signing kept his composure when put through one-on-one by Leon Britton's pass to beat Jaaskelainen.
Swansea manager Brendan Rodgers:
"That was a terrific performance against an established side, but the most impressive thing today was how we managed the pressure.
"We spoke in the week that in every game you will have moments, no matter how comfortable you are, where you have to manage the game.
"Last week we failed to do it and drew 2-2, but this week when Danny scored the own goal to put them to 2-1 you then saw the difference in the team.
"We opened up the spaces, passed the ball and hid the ball from the opponents for five or 10 minutes."
Bolton manager Owen Coyle:
"I think the second yellow card, in fairness, Ricardo Gardner has tugged Dyer back. I think we all accept that normally results in a yellow card.
"The first one I wasn't sure about in terms that it was such an innocuous foul. I think it was the first yellow card awarded in the game.
"It felt like two soft yellow cards, but that's the nature of the game now.
"But having said that, (Neil) Taylor in the first half clearly pulled Mark Davies back and it went unpunished. I think ultimately we want a bit of consistency in the game."
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +3:45 Substitution
Substitution Luke Moore joins the action as a substitute, replacing Nathan Dyer.90:00 +2:28
Angel Rangel provided the assist for the goal.90:00 +2:28 Goal scored
Goal! - Danny Graham - Swansea 3 - 1 Bolton A goal is scored by Danny Graham from just inside the penalty area to the bottom right corner of the goal. Swansea 3-1 Bolton.90:00 +0:19
Danny Graham takes a shot. Paul Robinson makes a clearance.89:27
Michel Vorm restarts play with the free kick.89:27 Booking
Booking Mark Gower receives a yellow card for unsporting behaviour.88:56
Danny Graham is caught offside. Free kick crossed left-footed by Paul Robinson, David Wheater challenges Garry Monk unfairly and gives away a free kick.87:44
The official flags Danny Graham offside. Jussi Jaaskelainen takes the indirect free kick.86:04
Mark Gower decides to take a short corner.85:53
Effort from the edge of the box by Scott Sinclair goes wide of the right-hand upright.84:52
Nathan Dyer takes a shot. Save by Jussi Jaaskelainen.82:28
Scott Sinclair takes a shot.81:17
Paul Robinson crosses the ball in from the free kick.81:17 Booking
Booking Angel Rangel is shown a yellow card.81:11
Free kick awarded for a foul by Angel Rangel on Chris Eagles.77:57
Gretar Rafn Steinsson gives away a free kick for an unfair challenge on Joe Allen. Neil Taylor takes the free kick.77:06
Inswinging corner taken by Mark Gower from the right by-line, clearance made by Gary Cahill. Mark Gower challenges Gael Kakuta unfairly and gives away a free kick. Gary Cahill restarts play with the free kick.76:43
Effort from the edge of the penalty area by Angel Rangel goes wide of the left-hand post.74:48
Jussi Jaaskelainen takes the free kick.
Substitution (Bolton) makes a substitution, with Ivan Klasnic coming on for David Ngog.74:48 Substitution
Substitution Gael Kakuta replaces Darren Pratley.74:48
Scott Sinclair is ruled offside.72:59
Assist by Chris Eagles.72:59 Goal scored
Goal! - Danny Graham - Swansea 2 - 1 Bolton Danny Graham puts the ball into his own net. Swansea 2-1 Bolton.70:13
Joe Allen produces a right-footed shot from deep inside the penalty box which goes wide of the left-hand post.69:23
Direct free kick taken by Mark Gower.69:23 Booking
Booking The referee shows Mark Davies a yellow card.69:19
Free kick awarded for an unfair challenge on Joe Allen by Mark Davies.65:40
Chris Eagles concedes a free kick for a foul on Mark Gower. Leon Britton restarts play with the free kick.62:37
Free kick awarded for an unfair challenge on Chris Eagles by Angel Rangel. Free kick crossed by Chris Eagles, Michel Vorm makes a save.60:00
Foul by Ashley Williams on David Ngog, free kick awarded. The free kick is delivered right-footed by Chris Eagles from right channel, clearance made by Garry Monk.59:26
Danny Graham takes a shot.58:48
Outswinging corner taken by Mark Gower from the right by-line, Gary Cahill manages to make a clearance.58:13
David Ngog concedes a free kick for a foul on Ashley Williams. Garry Monk restarts play with the free kick.58:07 Booking
Booking Paul Robinson is cautioned by the ref for unsporting behaviour.57:46
Shot by Scott Sinclair from deep inside the penalty area misses to the right of the goal.56:12
Assist by Angel Rangel.56:12 Goal scored
Goal! - Scott Sinclair - Swansea 2 - 0 Bolton Scott Sinclair scores a placed penalty. Swansea 2-0 Bolton.55:31
Penalty awarded for a foul by Darren Pratley on Angel Rangel.55:10
Mark Gower decides to take the corner short.55:00
Scott Sinclair takes a shot. Save by Jussi Jaaskelainen.52:05
The offside flag is raised against Danny Graham. Jussi Jaaskelainen takes the free kick.51:53
Angel Rangel takes a shot. Mark Davies gets a block in.51:14
Outswinging corner taken right-footed by Mark Gower from the right by-line.51:14 Substitution
Substitution Martin Petrov goes off and Paul Robinson comes on.50:53
Nathan Dyer takes a shot. Save by Jussi Jaaskelainen.49:39
The ball is swung over by Martin Petrov, Header by Gary Cahill from deep inside the penalty area misses to the right of the target.49:39 Booking
Booking Leon Britton goes into the referee's book.49:31
Unfair challenge on David Ngog by Leon Britton results in a free kick.48:24
Assist on the goal came from Mark Gower.48:24 Goal scored
Goal! - Joe Allen - Swansea 1 - 0 Bolton Joe Allen scores a goal from the edge of the penalty area to the bottom left corner of the goal. Swansea 1-0 Bolton.47:28
Mark Gower takes the direct free kick.47:28 Dismissal
Dismissal Ricardo Gardner receives a red card for second bookable offence.47:14
Foul by Ricardo Gardner on Nathan Dyer, free kick awarded.45:47
Danny Graham produces a right-footed shot from the edge of the box and misses to the right of the target.45:01
The match restarts for the second half.45:00 +1:02 Half time
Half Time The ref blows to end the first period.45:00 +0:08
Neil Taylor is flagged offside by the assistant referee. Indirect free kick taken by Jussi Jaaskelainen.44:45
Direct free kick taken by Garry Monk.44:45 Booking
Booking Booking for Ricardo Gardner.44:24
Ricardo Gardner concedes a free kick for a foul on Nathan Dyer.44:01
David Ngog has a headed effort at goal from deep inside the area missing to the right of the goal.42:20
Foul by Nigel Reo-Coker on Leon Britton, free kick awarded. Garry Monk restarts play with the free kick.41:40
Direct free kick taken by Mark Gower.41:40 Booking
Booking Darren Pratley is booked.41:34
Foul by Darren Pratley on Nathan Dyer, free kick awarded.38:04
Ashley Williams concedes a free kick for a foul on Chris Eagles. Strike on goal comes in from Martin Petrov from the free kick.36:09
Shot on goal by Darren Pratley from just inside the area goes over the target.35:35
Effort from 25 yards by Scott Sinclair. David Wheater gets a block in.33:53
David Ngog is ruled offside. Free kick taken by Michel Vorm.33:17
Outswinging corner taken by Martin Petrov from the left by-line, Garry Monk makes a clearance.32:30
Inswinging corner taken by Mark Gower. Mark Davies fouled by Nathan Dyer, the ref awards a free kick. Direct free kick taken by Jussi Jaaskelainen.31:55
Nathan Dyer has an effort at goal from just outside the penalty box which goes wide of the left-hand post.30:35
Inswinging corner taken by Mark Gower.29:11
The offside flag is raised against Danny Graham. Free kick taken by Jussi Jaaskelainen.28:14
Mark Gower takes a shot. Jussi Jaaskelainen makes a comfortable save.27:11
Free kick awarded for an unfair challenge on Scott Sinclair by Nigel Reo-Coker. Mark Gower takes the free kick.25:59
Free kick awarded for a foul by Mark Davies on Scott Sinclair. Leon Britton takes the direct free kick.24:55
Darren Pratley takes a shot. Save by Michel Vorm.23:45
Nigel Reo-Coker handles the ball and concedes a free kick. Garry Monk restarts play with the free kick.23:21
Outswinging corner taken by Mark Gower.22:52
Shot by Neil Taylor from 20 yards. Clearance by Ricardo Gardner.19:29
Chris Eagles takes a outswinging corner from the right by-line played to the near post, Mark Gower manages to make a clearance.19:08
David Ngog takes a shot. Save by Michel Vorm.16:23
Free kick awarded for a foul by David Ngog on Garry Monk. Garry Monk restarts play with the free kick.14:08
Free kick awarded for a foul by Ashley Williams on David Ngog. Centre by Gretar Rafn Steinsson, Gary Cahill takes a shot. Save by Michel Vorm.13:42
Mark Gower has an effort at goal from just outside the box which goes wide of the left-hand upright.12:46
Mark Gower takes a outswinging corner from the right by-line to the near post, David Ngog manages to make a clearance.10:36
Free kick awarded for an unfair challenge on Garry Monk by David Ngog. Direct free kick taken by Garry Monk.9:30
Outswinging corner taken by Mark Gower from the right by-line, Unfair challenge on Gary Cahill by Danny Graham results in a free kick. Jussi Jaaskelainen takes the free kick.7:23
Nathan Dyer takes a shot. David Wheater gets a block in.5:14
Effort from the edge of the area by Ricardo Gardner goes wide of the right-hand post.0:00
The match gets underway.
Live data and text provided by our data suppliers