Derry City stormed back into second spot in the Airtricity League Premier Division following an impressive 4-0 victory over Shelbourne at the Brandywell.
However, things could have been different if some of referee Dave McKeon's decisions at crucial parts of the game had gone the visitors' way.
The Brandywell men went close to taking an early lead but Rafter’s super drive from 20-yards was well kept out by Shels goalkeeper Niall Burdon.
The visitors were frustrated by referee Dave McKeon on 22 minutes when they thought they should have been awarded a penalty after Shane McEleney looked as though he handled Dean Kelly’s right-wing cross.
Derry took the lead just after the half-hour mark when McNamee’s cut-back found Patterson inside the Shels box and the in-form striker skipped away from Ian Ryan, before slotting the ball over the out-rushing Burdon.
The home side started the second half on the front foot as Houston and Rafter both went close in the early stages. The Donegal midfielder saw his chip saved by Burdon and the ex-Dundalk man fired wide.
Shelbourne went close to levelling things on 60 minutes but Crawley’s diving header was saved by Derry net-minder Gerard Doherty.
That missed chance came back to haunt the Dubliners as they conceded a second just minutes later when Patterson’s fantastic low centre from the right could only be turned into his own net by the diving Crawley.
Alan Matthews' side should have pulled one back on 77 minutes, but Dean Kelly's close-range header was superbly kept out by Doherty.
City added a third in spectacular fashion on 88 minutes when Ruaidhri Higgins’ pass found Rafter, who made no mistake, letting fly from a tight angle with a powerful shot that went in off the underside of the bar.
In stoppage time the home side netted a fourth when Simon Madden was brought down inside the box by Jack Memory and referee Dave McKeon pointed to the spot, from where substitute Mark Griffin made no mistake.
Derry City: Doherty, Madden, McBride, S McEleney, Crawley; Molloy, Higgins, Houston (P McEleney 71); Rafter, Patterson (Griffin 71); McNamee.
Shelbourne: Burdon, Cornwell, Shortall, Ryan, Memory; Leech, Crawley (Brennan 71), Hurley, Bayly, Kelly (Mooney 79); Hughes (Tinnelly 79).