Synopsis by Brian J. Dillard
As Angel (David Boreanaz) reels from the abduction of his son (see "Sleep Tight"), Wesley (Alexis Denisof) lies bleeding to death in the park where Justine (Laurel Holloman) left him. Gunn (J. August Richards) and Fred (Amy Acker) try desperately to find Wes before the vengeful Angel does. They also confront Justine, who refuses to provide their missing comrade's whereabouts. Meanwhile, Angel kidnaps Wolfram & Hart mastermind Linwood (John Rubinstein) and tortures him into revealing a spell that will render the immaterial Sahjhan (Jack Conley) solid so that Angel can force the demon to re-open the portal through which Holtz and Connor disappeared. The now-corporeal demon goes on a rampage and nearly bests Angel in battle. He reveals that the prophesies about Angel killing Connor were his own fabrication; he travelled through time and rewrote the scrolls to prevent the original prophesy -- that Connor would kill Sahjhan himself -- from taking place. He also reveals that re-opening the portal is impossible. Just as Sahjhan is about to stake Angel, Justine arrives and traps the demon in an urn and reveals Wesley's location. Gunn and Fred rescue him from imminent death. The next night, Angel visits Wes in the hospital and makes sure Wes knows that he has not reverted to the evil Angelus. Then he calmly, though unsuccessfully, tries to strangle the traitor. Originally broadcast April 15, 2002, on the WB network, "Forgiving" marked season three, episode 17 of the supernatural comedy drama.