Bolton kwam na twintig minuten op voorsprong door een rake pegel van Johan Elmander, maar nog voor rust zette Cameron Jerome beide teams weer op gelijke hoogte.
In de tweede helft kwam Bolton opnieuw op voorsprong, dit keer door een benutte penalty van Kevin Davies. Pas tien minuten voor tijd stelde Birmingham orde op zaken: Kevin Phillips maakte de gelijkmaker. Invaller Lee tekende in de laatste seconden echter alsnog voor de winnende goal voor Bolton.
Arsenal en Manchester United spelen zaterdagavond in de kwartfinale tegen elkaar. Zondag treffen Stoke City en West Ham United en Manchester City en Reading elkaar.