How does Superman fly?
If I remember correctly, Superman's powers come from the fact that Earth's sun is yellow and Krypton's sun was red. So he is supercharged by our sun's solar energy or something like that.
While this could explain his strength, how does it explain how he flies?
Ultra-High-Gaz-Bio-Suxfellure-Propellant. In his RadioActive Cape.
Flight - The ability to naturally defy and operate independently of gravity and propel himself through the air at will.
Originally, he only had the power to jump great distances, as stated by the 1940s Superman cartoons ("Able to leap tall buildings in a single bound"). Has ranged from simply being able to jump great distances using his vast strength, to beginning in late 1941 being able to accelerate, float in midair, change direction while traveling.
Later he became able to traverse interstellar distances without stopping.
Lex Luthor once theorized that Superman had to stem from a gigantic planet with enormous gravity, where his species had developed natural anti-gravity organs to be able to function; on Earth, this would allow him to control his own gravimetric field in order to fly.
The floating glove scene in man of steel proves the fact kryptonian can manipulate gravity. Also, from the main Superman Wiki article:
When making the cartoons, the Fleischer Brothers found it difficult to keep animating him leaping and requested to DC to change his ability to flying; this was an especially convenient concept for short films, which would have otherwise had to waste precious running time moving earthbound Clark Kent from place to place. Writers gradually increased his powers to larger extents during the Silver Age, in which Superman could fly to other worlds and galaxies and even across universes with relative ease.
Now, to address your "he is supercharged by our sun's solar energy or something like that." comment, Wiki says:
The source of Superman's powers has changed subtly over the course of his history.
It was originally stated that Superman's abilities derived from his Kryptonian heritage, which made him eons more evolved than humans. This was soon amended, with the source for the powers now based upon the establishment of Krypton's gravity as having been stronger than that of the Earth.
The canon (though it may be changed by the DCnU) is that Superman's powers come from Earth's yellow sun and his Kryptonian biology, but that even if Earth's sun was red he would be stronger and tougher than an average human, due to the differences in Kryptonian physiology and human.
I don't buy the gravity argument. It doesn't explain how he is able to hover at will, how he accelerates in the air, how he changes directions... etc