Hannibal actually did reverse time.

Somewhere in a parallel world, Will runs away with him. They escape. For a time, it’s everything Hannibal wanted, proximity, intimacy, shared monstrosity. But Will can’t sustain it. Maybe he dies (by suicide, by pursuit, by some violent fate). Either way, the dream curdles. Hannibal can’t live in a world where Will is absent.
So he seeks the unthinkable: reversal.

Mizumono is already a second attempt. It’s too dramatic, too perfect, too theatrical, the stage set for an operatic heartbreak. Abigail’s murder isn’t just a final cruelty. It’s a sacrificial act: Hannibal tried to keep her alive by faking her death but it wasn’t enough, so again, she dies. She must die.
She’s the symbol of alternate timelines. Hannibal “kills” her multiple times. Perhaps she never really died the first time.
When he kills her, it’s not because he wants to. It’s because she is the “error” in the spell, she must be removed for the pattern to hold. “Fate and circumstance have returned us to this moment.” The teacup shatters again.

So Hannibal’s imprisonment is not a punishment, it’s a ritual site. Every act is a rebalancing of the prior attempt.
What we’re watching is not one timeline. It’s a ritual loop, shaped by Hannibal’s will, until the variables align and Will finally becomes the version who survives, who ends up with him.