Emma (Jennifer Morrison) walks into Granny's only to find Hook (Colin O'Donoghue) with Merlin's heart in his hand. Nimue is also there to help Hook exact his revenge. Concerned for his happy ending, Emma tries to talk him out of it, but it's no use. Hook crushes Merlin's heart, killing him. From Once Upon a Time season 5 episode 10, "Broken Heart."