Bolton win 1-0 on aggregate
Bolton booked a Uefa Cup last-16 tie against Sporting Lisbon after frustrating Atletico Madrid at the Vicente Calderon stadium.
Joey O'Brien and Reyes tussle for the ball
Gary Megson's side took a 1-0 lead into the second leg and restricted the strong Spanish side to few chances.
The best of those fell to Luis Garcia but the former Liverpool player fired his effort horribly over the crossbar.
Bolton's Stelios Giannakopoulos forced goalkeeper Christian Abbiati into making a smart save early in the game.
Atletico, fourth in La Liga, were the clear favourites to win this tie despite going into the second leg with a one-goal deficit.
However, the Spanish team were without top Argentine forward Sergio Aguero who was suspended and that seemed to blunt their attack, with Diego Forlan seemingly at a loss without his strike partner.
Megson's Bolton gave Atletico a tough time at the Reebok Stadium in the first encounter and during the 90 minutes at the Vicente Calderon the Premier League side were in no mood to be any more generous.
In fact, the Trotters came close to taking a surprise lead within the first 10 minutes when Stelios smashed in a shot that had to be tipped over by Abbiati.
The Madrid side were trying to use playmakers Jose Antonio Reyes and Maxi Rodriguez to open up Bolton but, more often than not, the brave Andy O'Brien and Gary Cahill were quick to block the supply.
The one clear chance for Atletico fell at the feet of Garcia, but the diminutive Spaniard spooned his shot over.
The Spanish outfit should have come out after the interval with all guns blazing but they failed to up the tempo until the last 10 minutes.
As Atletico pressed, Bolton brought back more men and defended deeper, but it was not desperate stuff, and the English side comfortably handled whatever was flung into the area.
It was credit to Bolton's defence that their keeper Jussi Jaaskelainen was rarely called into action.
But they will surely be wondering why they did not get a stiffer test from one of Spain's top sides.
Atletico Madrid: Abbiati, Pernia, Pablo (Mista 67), Antonio Lopez, Perea, Jurado, Cleber Santana, Maxi, Luis Garcia (Miguel 54), Reyes, Forlan.
Subs Not Used: Falcon, Fabiano Eller, Ze Castro, Alex Quillo, Dominguez.
Bolton: Jaaskelainen, Hunt, Andrew O'Brien, Cahill, Samuel, Giannakopoulos (Diouf 59), McCann (Campo 58), Nolan, Joey O'Brien (Meite 85), Taylor, Davies.
Subs Not Used: Al Habsi, Teymourian, Alonso, Vaz Te.
Booked: Joey O'Brien, Nolan, Diouf, Davies.
Ref: Jacek Granat (Poland).