Research metro passes (Oyster card) and plan to use the Metro. London is really spread out and while walking about is fun, you'll save lots of time if you use the Metro. Plus its really easy with google maps.
I think some have already mentioned the Tower of London. I'm not a big tour fan, but this is great. The guided tour is full of good information, led by the Beefeaters who are generally punny/funny and easy going. Highly recommend.
The British Museum was a surprise hit for us. They've got the Rosetta Stone and a ton of great stuff they picked up through their colonization travels.
The Churchill War Rooms museum is really great and convenient to the main sites.
If you have time to spare, Warwick Castle (its a 1.5 hour train ride from London) is a great place to visit. You get to scour the entire castle site and its really scenic.
Some restaurants we've enjoyed:
Veeraswamy near Picadilly Circus. Its a very upscale indian restaurant and whether you think you like indian food or not, this place is great.
Dishoom - indian food with several locations. More casual and fun vibe than Veeraswamy and lower price point.
The Good Earth - Chinese with a great roast/peking duck.
The Porchester - English pub with a great sunday roast. I think its only worth going for the sunday roast.
Chet's in Shepher'd Bush area. Modern and hip Thai place with easy access via metro from the main parts of London.
Gordon's Wine Bar on Villiers just up the road from the Embankment metro stop. There's a patio level section and then a section below ground in an old metro tube. This is a wine bar but they also have a menu to order some breads/meats/cheeses. Really great vibe (dark, candle lit, sloping ceilng) and great wines.
ASK Italian on Park. Not some high toned, destination place. But if you need a break, they've got good italian food at a reasonable price (especially considering the location).
Burrough Market - we've had several meals here and I'd recommend the Paella (it'll be easy to find).
The Grenadier - A pub tucked behind a bunch of Embassies in Belgrave just south of Hyde Park. We didn't eat here but enjoyed several pints.