The fire broke out in the store in the Friesenberg neighbourhood on Friday shortly before 8pm on the Schweighofstrasse, police said.
No one was hurt in the blaze which was quickly brought under control but took several hours to put out because of a smoldering ceiling.
People in the shop and an adjoining restaurant were evacuated without incident.
Police issued a call for witnesses on Saturday before arrested the male student shortly after 9pm.
The youth confessed to having started the fire with a lighter after initial questioning, police said.
The student was referred to the Zurich cantonal youth advocate’s department.