Ham-sur-Heure-Nalinnes is a Walloon municipality located in the Belgian province of Hainaut. On January 1, 2006 Ham-sur-Heure-Nalinnes had a total population of 13,364. The land area is , which gives a population density of 293 inhabitants per km².
Like many Belgian communes, Ham-sur-Heure-Nalinnes was formed by the amalgamation of smaller communes in 1977. The communes merged were Cour-sur-Heure, Ham-sur-Heure (Han-Nålene), Jamioulx (Djanmioû), Marbaix-la-Tour (Marbwê) and Nalinnes (Nålene).