Athos (Matthew Macfadyen), Aramis (Luke Evans) and Porthos (Ray Stevenson) are on a mission to retrieve Da Vinci's blueprints for building a war machine. Athos and Milady (Milla Jovovich) are in love. Milady double-crosses the musketeers and is in league with the Duke of Buckingham (Orlando Bloom) who takes the plans to England.
D'Artagnan (Logan Lerman) meets up with the three Musketeers a year later wanting to fight for France. The Muskateers have no fight in them or for them.
Milady is now in league with the Cardinal Richelieu (Christoph Waltz) to take over France from the teenage King Louis XIII of France (Freddie Fox) and have Queen Anne (Juno Temple) killed for infidelity. Milady is in good standing with the Duke so the Cardinal wants to have France and England go to war. Milady steals the Queen's jewels and is suppose to put them in the Tower of London as well as put some love letters in the Queen's possession. The Cardinal will suggest to the King that there should be a ball and the Queen is to wear the jewels otherwise there will be war and death.
The Musketeers and D'Artagnan retrieve the jewels, steal the Duke's war machine (a sailing ship with a Zeppelin attached plus an army of weapons on board), find out Rochefort (Mads Mikkelsen) also has a war machine that is bigger, rescues Constance (Gabriella Wilde) whom Rochefort captured to get the jewels back and see Milady just to her death into the ocean.
All is well in the end: Queen Anne wears the jewels and King Louis is happy again, the Cardinal is back to square one to plot and take over the throne, France no longers has a war machine, the Muskateers and D'Artagnan have the King's ear and Milady is gone...
Spoiler for sequel - The Duke fished out Milady of the ocean and revived her on his other war machine. The Duke has amassed an army of sailing ships and a multitude of war machines who are on their way to attack France.
Thanks Ann-Marie "crappy" F!