IS fighters began a surprise offensive in the area on Thursday and attacked Marea early on Saturday with tanks and car bombs, monitors said.
The UN fears for tens of thousands of civilians trapped in the fighting.
The area between the city of Aleppo and the Turkish border is split between IS, rebel and government-controlled zones.
A nationwide, but often violated ceasefire, between rebel and government forces, brokered by the US and Russia in February, does not include jihadist groups such as the self-styled Islamic State.
The UK-based Syrian Observatory for Human Rights monitoring group said heavy clashes had taken place inside the walls of Marea overnight between IS fighters and rebels.
Marea has long been a bastion for non-jihadist rebel forces who have been fighting  President Bashar al-Assad in Syria's five-year conflict.
It lies within the so-called Azaz corridor - a key rebel lifeline of supplies that links Aleppo city with the Turkish border but which has previously been severed by government and Russian air strikes.
Azaz, 20km (13 miles) north of Aleppo, itself hosts tens of thousands of displaced civilians.
The IS militants' offensive initially captured six villages around Azaz and took them to within a few kilometres of the city, cutting off supplies to Marea to its south.
It is thought some 15,000 residents remain in Marea.
The UN's refugee agency said it was deeply concerned about the plight of more than 160,000 displaced people who are massed in the north of the country.
It said fleeing civilians were being caught in the crossfire of the IS offensive, and that they were struggling to get access to food, water and medical services.
The Marea fighting shows IS's ability to continue launching offensives, analysts say, despite losing ground in other parts of Syria and in Iraq.
Heavy fighting has been reported in northern Syria as so-called Islamic State tries to capture the rebel-held town of Marea, near the Turkish border.