The film is based largely upon Norse mythology. In the film's opening scene Erik (Tim Robbins), a young Viking, discovers that he has no taste for rape and pillage, and suffers guilt over the death of Helga (Samantha Bond), an innocent woman.
Erik learns from the wise woman Freya (Eartha Kitt) that Fenrir the wolf has swallowed the sun, plunging the world into the age of Ragnarรถk. Erik resolves to travel to Asgard to petition the gods to end Ragnarรถk. Freya informs him that to do so he must seek the Horn Resounding in the land of Hy-Brasil. The first note blown upon the Horn will take Erik and his crew to Asgard, the second will awaken the gods, and the third will bring the crew home.
Keitel Blacksmith (Gary Cady) and his underling Loki (Antony Sher) are opposed to Erik's plan, because peace would end the demand for Keitel's swords. Keitel joins Erik's crew to sabotage Erik's plans. Halfdan the Black (John Cleese), afraid that peace will mean the end of his reign, sets sail in pursuit.
Arriving at Hy-Brasil, Erik and crew are astonished to find it a sunlit land whose people are friendly (if musically untalented). Erik promptly falls in love with Princess Aud (Imogen Stubbs), daughter of King Arnulf (Terry Jones). During one of their romantic encounters, Erik hides from Arnulf using Aud's magic cloak of invisibility.
Aud has warned the Vikings that should blood ever be shed upon Hy-Brasil, the entire island would sink beneath the waves. Erik and his crew defend Hy-Brasil against Halfdan's ship. In gratitude for Erik's having saved Hy-Brasil, King Arnulf presents him with the Horn Resounding, which is much larger than Erik had imagined. Loki steals the Horn's mouthpiece, without which it cannot be sounded, and persuades Keitel to throw it in the sea. Snorri, one of Erik's men, catches them in the act, and Loki kills him. A single drop of the man's blood falls from Loki's dagger, triggering an earthquake that causes the island to begin sinking.
Erik's crew, joined by Aud, prepare to escape in their ship with the Horn safely aboard, but Arnulf refuses to join them, denying that the island is sinking up to the very moment he and the other islanders are swallowed by the waves. Aud, who was able to recover the mouthpiece by chance, sounds the first note on the Horn. The ship is propelled over the edge of the flat Earth and into space, coming to rest upon the plain of Asgard. Erik sounds the second note to awaken the gods, and he and his crew approach the great Hall of Valhalla.
Erik and the crew encounter old friends and enemies slain in battle. The gods are revealed to be petulant children who have no interest in answering mortal prayers. Odin persuades Fenrir to spit out the sun, but tells Erik that the end of Ragnarรถk will not bring peace to the world. Odin then informs Erik that he and his crew cannot return home. Nor may they remain in Valhalla, since they were not slain in battle; instead they are to be cast into the fiery Pit of Hel. Some of the Vikings who were killed in the sea-battle with Halfdan attempt to save them, but even as they are drawn into the Pit, they hear the Horn Resounding's third note, which flings them clear.
Erik's crew, including the formerly dead men, immediately find themselves back in their home village. They are dismayed to find that Halfdan and his soldiers have arrived before them and are holding the villagers captive. Halfdan and his men are crushed to death by Erik's ship as it falls out of the sky with Harald the Missionary (Freddie Jones) aboard. As the villagers celebrate Erik's return and Halfdan's defeat, the sun rises, ending the age of Ragnarรถk.

Question: Who attacks the island of Hy-Brasil?
Answer: Halfdan