I have only been to a few of London's markets, but out of them, Borough Market is my favourite. Borough is a food market, and is open every day except Sunday, from 10am-5pm. It has loads of artisan food traders selling absolutely gorgeous breads, cakes, meats, cheese, and more. They also have hot street food from around the world, including Greece, Germany, and the Caribbean.
For crafts, you'll want to go to Covenant Gardens, which has a nice little area on the piazza, and Portobello is the place to go to for antiques.
Other markets I've been to, but was not so keen on were Spitafields and Brixton. There is nothing wrong with Spitafields market itself, in fact it has some very fashionable clothes and craft stalls. But the area is full of car pollution. Brixton I is mixed market, with fresh produce, clothes, etc. I find it far too crowded. You can't breathe or get a proper look at anything. I wrote a review of them if you want more thorough details:
Borough Market for food.
Greenwhich Market for hand made crafts and gifts.
Brick Lane for trendy, quirky and vintage finds.
Portabello Market for a true London experience in the heart of Notting Hill.
Colombia Road flower market for Sunday morning browsing.
Camden markets for alternative and trendy finds.