A free-kick by Graeme Murty was headed back into the danger area by Ivar Ingimarsson and Forster was waiting at the far post to tap in his first goal since September.
There were half hearted shouts for offside as Forster was all on his own inside the six-yard box but referee Clive Pentin waved away the appeals.
The Swans threw everyone forward in the closing stages of extra-time and Andy Robinson forced two saves from Marcus Hahnemann in the visitors goal in the final minute, but the Championship side held out.
Swansea made one change from the side that held the Royals to a draw at the Madejski Stadium. Ijah Anderson came in for Robinson who was on the bench. Reading also made one change with skipper Murty in the side to the exclusion of the injured Les Ferdinand.
Swansea piled on the early pressure and they almost went ahead in the 14th minute following a Lee Trundle corner. The deep cross was headed back by Gary Monk and Paul Connor was first to the ball but his goalbound header was cleared off the line by Steven Sidwell.
Reading soon hit back and after the Swans defence failed to clear a corner it needed prompt action by Anderson to prevent Glen Little squeezing a shot inside the post.
Steve Coppell must have read the riot act during the interval as his side came out in determined fashion to put Swansea under pressure for the first time in the tie.
In the 66th minute they looked sure to break the deadlock when Lloyd Owusu sent a point-blank header goalwards only for Willy Gueret to leap across and push his effort around the post.
Both sides were visibly tiring as extra-time began, but it was the Royals who claimed victory with Forster's goal.