In the interest of full disclosure, I'm a Frank Miller fan.
So, I was going to see 300 the day it opened. I didn't know I was going to see it twice.
Visually, the film is impressive. It's a pseudo period adventure / war piece, and there's a commitment on the visual feel (borne from the original graphic novel) that's cohesive and compelling.
Scenes are almost frame-perfect from the original work, which comes off well for the most part -- though there are a couple of miss-steps where something that looked "super badass" in the book comes across a bit flat in the movie (the Persian duplicity reveal and the corpse tree in particular stand out to me).
But for the most part, scenes flowed well, and didn't feel too disjoint -- which is a danger considering their self-contained "wow" moments.
The actors were strongly committed, which makes for a great performance, with Gerard Butler (Leonidas) in particular surprising me with his performance, though Lena Headey's (Gorgo) refreshingly strong character portrayal was nice, too. Dominic West (Theron) was sharp in his political portrayal, and Vincent Regan (Captain) is a shamefully underrated actor, who gave perhaps the most powerful, humanizing moments in the film.
The only real downside to the film (for me) was they included the text-heavy narration throughout, which became a little grating. Not so much because it violated the "show, don't tell axiom" (which it did), but because I'm not sure for which accent David Wenham (Dilios) was trying, but it certainly didn't work (as an aside, dialects are all over the map in this film).
Overall, 300 is a powerful, visually impressive film, and the few missteps don't detract from the overall impact of the movie.