After its third season was heavily criticized for being too dark, Arrow needed to redeem itself in its fourth season. Promised to be a lot brighter, season four also took a page out of The Flash’s book to make Oliver Queen’s (Stephen Amell) next threat not grounded. While the fastest man alive dealt with meta-humans, Arrow’s fourth year decided to introduce magic into the Arrowverse that was also busy setting up its newest spin-off, with Legends of Tomorrow. After being teased in the season three finale, Neal McDonough finally came in as the villainous Damien Darhk.

RELATED: The 10 Best Costumes on Arrow, Ranked

But that wasn’t the only twist that the fourth season promised, as we learned early on that a big character would be killed off. So there was a lot going on in this season for Arrow, to say the least. With that said, these are the best and worst episodes of Arrow season four.

WORST: Broken Hearts (Episode 16)

A bad surprise from the past makes its way back to Arrow in the second half of the fourth season. After debuting in season three, Cupid (Amy Gumenick) showed up in what has got to be one of the cheesiest episodes of the entire series.

As Oliver and Felicity (Emily Bett Rickards) had just broken up, Cupid returns to Star City to go after those who are in love. She specifically targets couples on their wedding days, which gets Felicity and Oliver to fake a wedding so they could bait her.

BEST: Restoration (Episode 3)

As Legends of Tomorrow was being set up, Caity Lotz was one of the key characters for the series. This is why Arrow’s first few episodes focused on bringing Sara back.

RELATED: Ranking The Arrow Finales

In the third episode, Laurel (Katie Cassidy) and Thea (Willa Holland) travel to Nanda Parbat to ask Malcolm, the new Ra’s al Ghul (John Barrowman), to let them use the Lazarus Pit on Sara to bring her back. Despite the initial hesitations, Malcolm eventually helps Laurel resurrect Sara, but her revival comes with a massive price.

WORST: Beacon of Hope (Episode 17)

Felicity got her own nemesis during her guest appearance in The Flash’s first season in the form of Emily Kinney’s Brie Larvan. While Brie’s motives were made perfectly clear, the writing of the character made “Beacon of Hope” look like a drinking game for any time she or anyone else would crack a lame pun about bees.

It was also one of those episodes that really felt like it was nothing more than filler, as it was still too early for Felicity to defeat Damien at that point.

BEST: Green Arrow (Episode 1)

Oliver's fourth year of as the famous archer started and finished big as he and Felicity made their way back to Star City and their team. As the Arrow was now officially dead in the public’s eye, Oliver makes the decision to start a new chapter in his heroic journey.

RELATED: Arrow Finale: 5 Things That Brought Us Closure (& 5 That Didn’t)

With a new awesome costume as well as a recharged dedication to the city, Oliver makes his debut as the Green Arrow to the citizens of Star City as well as the city’s many criminals.

WORST: Schism (Episode 23)

After a shaky fourth season that begun to go south during its second half, the season finale wasted no time in wrapping up the biggest stories and character arcs of that year. Damien and Oliver had their massive showdown while also getting the city involved, which sounds nothing short of epic and amazing.

But the finale came with some disappointing shockers as Team Arrow officially disbanded with everyone going their own way, leaving only Oliver and Felicity in the bunker. This wasn't the ending we were hoping for.

BEST: Taken (Episode 15)

After getting her own animated series set in the Arrowverse, Vixen finally made her jump to live-action as Megalyn Echikunwoke reprised the role from her show. The fifteenth episode was all about fighting magic with magic, as Mari had some experience with it.

RELATED: 10 Ways Crisis On Infinite Earths Can Be The Arrowverse's Endgame

Mari manages to help the team figure out how to get to Damien’s source of magic, which is how they succeed in stopping him at the end of  this episode. Obviously it was only a temporary victory, but it was still amazing to see Vixen finally coming to life.

WORST: Eleven-Fifty-Nine (Episode 18)

After the several teases, the promised death happened as Arrow decided that it was Laurel who would end up in the grave. When her father disobeyed Damien, he came through with his promise as he went after the Black Canary, who dies at the end of the episode.

Her death became one of the most controversial decisions in the show’s history as it was shocking for a Green Arrow series to kill off the Black Canary, who's an essential character in Arrow's mythology. This was also the beginning of the mess that was the remainder of Arrow’s fourth season.

BEST: Legends of Yesterday (Episode 8)

Thea Queen, Green Arrow, Black Canary, Flash, Diggle, Hawkgirl and Hawkman in Legends Of Yesterday

The Arrow half of this Legends of Tomorrow stepping stone event had the two teams protecting Hawkgirl (Ciara Renée) from the villainous Vandal Savage (Casper Crump) at all costs. Despite being the grounded one out of the two shows, the Arrow hour of the crossover is where it got more comic book-y.

From Vandal killing everyone thanks to magic to Barry (Grant Gustin) going back in time and getting a second chance at stopping Vandal, Legends of Yesterday was simply massive. It’s always fun whenever Barry and Oliver join forces as the super-friends that they are.

WORST: Canary Cry (Episode 19)

Following Laurel’s controversial death, the nineteenth episode didn’t make the situation any better. Pitched as a somewhat tribute episode for Laurel, Canary Cry spends most of its time with a young girl stealing Laurel’s Black Canary mantle for her own selfish reasons.

There are still some notably dramatic moments such as the team grieving Laurel’s death and the entire duration of her funeral, but the side plot with Evelyn Sharp (Madison McLaughlin) ruined majority of what was supposed to be a somber conclusion to a polarizing event.

BEST:  Haunted (Episode 5)

As season four was getting into magic, we got the appearance of a very beloved DC character. After getting his show canceled on NBC, Matt Ryan reprised the role of John Constantine to help Team Arrow restore Sara’s soul following her revival thanks to Laurel.

Additionally, the flashbacks reveal how Oliver and Constantine came to know each other, as the NBC series officially joined the Arrowverse continuity in the fifth episode. But not only do we get that, as Haunted takes some time to finally heal the friendship between Oliver and Laurel.

NEXT:  7 Characters Arrow Season 8 Needs To Have (& 3 Characters It Needs To Exclude)