Championship: Reading 0 Birmingham 1
Steve Clarke's side fell at the penultimate hurdle of the competition at the weekend when a howler from Adam Federici ensured Alexis Sanchez sent Arsenal through in extra-time.
Clarke kept faith with the Australian goalkeeper for Wednesday's clash at Madejski Stadium and Federici was on course for a clean sheet.
However, Donaldson scored his 15th league goal of the campaign seven minutes from time.
The former Brentford man - described by manager Gary Rowett as "almost undroppable" in the build-up - headed home Stephen Gleeson's cross to move Birmingham into 13th.
Reading remain 19th and safe from relegation despite a winless league run that now stretches back seven games.