How old?
Sticker books can be good and calming!
Have a bath in the middle of the day, or sit him in the (empty) bath to do messy/water play.
Get him to "help" you tidying, cleaning, putting washing away etc. It'll take 2-3 times as long but that means he's been occupied for all that time, the job still gets (mostly!) done, and he's learning to pitch in
You can usually substitute cleaners for less harsh ones, like using washing up liquid & warm water solution to wipe down sides, grubby door frames, etc rather than a more concentrated spray.
Invite people over, with children or without children, or go visiting - they love variety and different people play new games! The company is good for you, too.
Visit free places like the library, children's centres, children's museums etc if money is tight. If you have a small fund then things like swimming, soft play, tumble tots, music/dance groups etc are great.
DVDs
games - CBeebies website has some good ones. Simple board games or card games like snap, snakes and ladders, orchard games ones, once they're old enough (some are suitable from age 2)
Playing with a train set or megablocks or duplo. I used to make a deal with DS that I'd help him build it and then I had to go, so if he wanted to play he played by himself and he seemed to like this.
A good old-fashioned romp and wrestle on the bed! Taking the sofa cushions off and using things like packaging boxes or blankets or more cushions to make a slide. Hang a sheet on an airer, and you have a den. When the weather is dry, go to a £1 shop or supermarket and ask for big cardboard boxes, then you can play climbing in and out of boxes!
Put some music on and have a dance and a sing, join in with air guitars, bang on saucepans, etc. Follow this with a DVD so you can adjust the volume to suit your headache 
Also I agree with get some waterproofs and go splashing. Put the heating on before you go and make sure you have enough milk to make proper hot chocolate :)