Bolton earned an invaluable first-leg lead against Spanish giants Atletico Madrid in the last 32 of the Uefa Cup.
Diouf made the most of his only scoring chance of the game
The hosts had keeper Jussi Jaaskelainen to thank for keeping the scores level with a world class one-handed save to deny Antonio Lopez on 12 minutes.
But the complexion of the match shifted in Bolton's favour when Atletico substitute Sergio Aguero was sent off for spitting on 74 minutes.
And moments later El Hadji Diouf fired the winner from six yards.
The victory gives Gary Megson's side an enormous psychological fillip for the return leg at the Vicente Calderón Stadium in a weeks' time.
Atletico - currently fourth in La Liga - boasted the attacking prowess of former Arsenal striker Jose Antonio Reyes and ex-Manchester United forward Diego Forlan.
However, the early threat was supplied by new Bolton signing Matthew Taylor, who was making his Uefa Cup debut.
The former Portsmouth star had three good chances within the first 10 minutes of the match, forcing keeper Christian Abbiati into a trio of saves.
The match briefly deteriorated into farce when a reckless challenge from Diouf on Simao sparked a melee, but referee Peter Rasmussen restored order and booked the Senegal international.
Atletico outlined their threat from set-pieces from the resulting free-kick when Reyes' pinpoint free-kick found Lopez, but his six-yard header was brilliantly parried by Jaaskelainen.
The Finn's save stiffened Bolton's resolve and more fine play from Kevin Davies and Taylor ensured Abbiati - on loan from AC Milan - had a busy first 45 minutes at the Reebok Stadium.
However, the visitors made the brighter start to the second half, with Forlan rattling the stanchion with a stinging shot from 18 yards on 53 minutes.
Aguero had been on the pitch for 12 minutes when he was red carded
Sensing his side were beginning to dominate, Atletico manager Javier Aguirre introduced star striker Aguero on 59 minutes, replacing the subdued Reyes.
However the Argentine had little time to stamp his mark on the game when he was red carded by the Danish referee for spitting.
And almost immediately Bolton found themselves in front when Diouf's left-footed strike from six yards beat Abbiati.
It sparked scenes of jubilation from the home fans, who urged their team to hang on to their precious lead in the final 10 minutes.
But despite pressing forward in the final stages, Atletico failed to create any chances of note.
• Bolton manager Gary Megson:
"We stressed the importance of keeping a clean sheet. We've kept four clean sheets out of our last five games. We're doing OK, not just as a back four but as a team.
"We would have liked to have scored more goals, but we couldn't have tried harder.
"Their keeper played well, he has been worked very heavily tonight, as has Madrid's back four."
Bolton: Jaaskelainen, Hunt, Cahill, Andrew O'Brien, Samuel, Campo, Diouf, Guthrie (Giannakopoulos 59), Nolan, Taylor, Davies.
Subs Not Used: Al Habsi, Meite, Teymourian, Vaz Te, Joey O'Brien, Sinclair.
Goals: Diouf 74.
Atletico Madrid: Abbiati, Antonio Lopez, Perea, Pablo, Pernia, Reyes (Aguero 59), Mista (Miguel 88), Maxi, Cleber Santana, Simao (Jurado 72), Forlan.
Subs Not Used: Falcon, Fabiano Eller, Alex Quillo, Dominguez.
Sent Off: Aguero (73).
Booked: Reyes, Cleber Santana.
Ref: Peter Rasmussen (Denmark).