The municipality was created on 4 April 2004 when it incorporated the former municipality of Salorino. On 5 April 2009 it incorporated the former municipalities of Arzo, Capolago, Genestrerio, Rancate and Tremona. On 14 April 2013 the former municipalities of Besazio, Ligornetto and Meride merged into the municipality of Mendrisio.