The Final Battle (Once Upon a Time)

"The Final Battle"   is a two-part episode, comprising the twenty-first and twenty-second episode of the sixth season of ABC's Once Upon a Time and the one-hundredth and thirty-second and thirty-third episode episode of the series overall. It was written by Edward Kitsis & Adam Horowitz. This is the season six finale.

Starring

 * Ginnifer Goodwin as Mary Margaret Blanchard
 * Jennifer Morrison as Emma Swan
 * Lana Parrilla as Regina Mills
 * Josh Dallas as David Nolan
 * Emilie de Ravin as Belle French
 * Colin O'Donoghue as Hook
 * Jared S. Gilmore as Henry Mills
 * Rebecca Mader as Zelena
 * Robert Carlyle as Mr. Gold