The Mists of Avalon
(2001)

Morgaine (Julianna Margulies) unknowingly sleeps with her brother Arthur (through the machinations of Viviane [Anjelica Huston]) and has Mordred, whom she then leaves to be raised by Morgause (Joan Allen), who has cursed Guinevere with infertility so that her son will be the heir.

In the end, Viviane kills Morgause, Mordred kills Viviane, Lancelot, and finally Arthur. Arthur kills Mordred back. Morgaine takes a dying Arthur back to Avalon and is able to part the mists long enough for him to see it, but once he dies, Avalon disappears forever.

Morgaine returns to the convent both her mother and Guinevere have taken refuge in, and continues to worship the Goddess.

Thanks Mary C!