Methods for calculating, interpolating and idealising air flow in complex terrain are reviewed. Then the general structure of stratified airflow over a single hill of height H and length L1 is studied in detail and shown to be determined by the upwind velocity profile, the magnitude of a characteristic Froude number and the dimensions of the hill. Let N(L1) be the buoyancy frequency upwind at a height L1, and u* and U0 be the upwind friction and mean velocity respectively; then the flow is effectively neutral if u*/NL1>1. But if u*/NL1>1 and u0/NL1>1, the stratification is weak enough to affect the upwind turbulence and velocity profile but not the dynamics of the flow over the hill. If U0/NL1 1 the buoyancy forces are strong enough to affect the mean flow over the hill but not strong enough to prevent it passing over the top. In this regime the flow is very sensitive to the form of the upwind temperature profile. If U0/NH>1, much of the flow passes round the hill. A similar classification, with different flow patterns, is appropriate for unstably stratified flows. When the wind is weak enough, local slope winds can dominate. Results from the analysis of these different regimes are described and compared with laboratory of field measurements where possible. It is shown how some of these results can be extended to groups of hills.