A slight correction to praveen's post :
The factory act specifies that a canteen should not be run at a profit. That means that the company owning the factory or any of its related parties should not make a profit on canteen operations. Nothing states that the contractor can not make money. In the books of the factory, the canteen operations should not be at a profit.
The factory act requires you to,provide a canteen when you have more than 250 workers. But nothing states it needs to be free or cost a particular amount. So you are not required to do free.