Picking up from last week’s cliffhanger Arrow‘s mid-season finale begins with Barry Allen (Grant Gustin) saving Oliver‘s (Stephen Amell) life but in doing so the city’s vigilante begins experiencing hallucinations of Shado (Celina Jade), Slade Wilson (Manu Bennett), and Tommy (Colin Donnell). Unable to trust himself fully, Oliver shares his information on Cyrus Gold (Graham Shiels) with former-Detective Lance (Paul Blackthorne) but all that does is get Detective Hilton (Roger R. Cross) killed and Lance a trip to the ICU.
In the episode’s B-story Thea (Willa Holland) enlists the help of Laurel (Katie Cassidy) to find out what really happened to Sin‘s (Bex Taylor-Klaus) friend whose death the Starling Police have wronging dismissed as nothing more than a drug overdose. Meanwhile the wounded Roy (Colton Haynes) ignores the vigilante’s pointed warning and continues to investigate which gets him nabbed by Gold and experimented on by Brother Blood (Kevin Alejandro). Although Green Arrow is able to shake off his ghosts and save Roy’s life, the young man’s exposure to the drug means we may be seeing Arrow’s sidekick suiting up sooner than expected.
“Three Ghosts” does everything you would want for for a mid-season finale tying up the loose ends and teasing audiences with what is yet to come. Gold’s short two-episode appearance (and the macabre poetry) is used to set the stage for another DC villain down the line, the table is set for The CW’s Flash spin-off with the accident that will change Barry Allen’s life forever, and the finale introduces the man behind Brother Blood as Ollie’s old friend, and new enemy for the second-half of the season, Deathstroke. And the mask! Finally our hero dumps the ridiculous paint and gets a real mask! The series has certainly made huge strides over its year-and-a-half on the air and I can’t wait to see what comes next.