A Middle School Teacher earns an average salary of $43,273 per year. Experience has a moderate effect on income for this job. People in this job generally don't have more than 20 years' experience. Skills that are associated with high pay for this job are mathematics, Teaching, and Math.