勐卡镇的前身为西盟镇和莫窝乡。
清同治十二年(1873年)前后,莫窝乡为大马散民族部落领地。
民国时期,莫窝乡属澜沧县西盟区。
民国二十七年(1938年),西盟镇属澜沧县西盟乡。
1949年,设西盟村武装工作点,属澜沧县西盟区马散武装工作区;同时设马散武装工作点。
1956年,设西盟乡,属马散区。
1958年,区政府迁驻小马散。
1965年,成立西盟佤族自治县时将西盟乡划出设镇,全区有马散、莫窝、永帮、阿莫4乡。
同时马散区划出独立设镇。
1969年,西盟镇改为向阳大队。
马散镇改为庆九大公社;同年,阿莫乡划归新厂(前哨)公社,中课的永业、莫美2乡划入设立大队。
1980年12月,庆九大公社改名莫窝公社。
1981年,西盟大队划归莫窝公社。
1984年4月,公社改区,西盟大队又划出独立设镇,为县辖乡级镇;同年,莫窝大队南部班哲大寨、上寨、下寨3自然村划出增设班哲乡。
1987年,莫窝公社改乡。
2006年1月13日,西盟镇、莫窝乡撤销;同年4月25日,成立勐卡镇。