The All Bar One is on Butler's Wharf/Shad Thames (follow the link). The menu is quite good for eating in a group - they do little tapas style plates, but the actual food is a bit variable. Sometimes excellent, sometimes a bit mediocre.
You'd get a better view from places further west, if they're not too busy - All Bar One is set quite far back from the bank, and you'll see more of the racing if you're right on the river. The Queen Mary will have a cracking view http://www.caniseethat.co.uk/QueenMary/
Are you willing to travel out of SE1? The Trafalgar in Greenwich has a view of the finish.
You really need to be West of Tower Bridge as I think the race finishes there. The Anchor near London Bridge would be good (if the weather is reasonable as they have a big terrace right on the river)but I have never eaten there
What about St Thomas's hospital - they have cafe and restraunt, and if you know someone ill (or pregnant) there, you would even get a high up view, and it's publicly accessible, easy access to the river front. An underused gem, in my opinion, if you don't mind mixing with ill people.
Yes,they are beautiful views from Tommy's,but it is so difficult for staff,who have such a limited amount of time for breaks,to have to wait in line behind everyone else.There is also a self-service cafe further down the South Wing corridor called Shepherd Hall which faces onto the river front,magnificent sight of the Houses of Parliament and doesn't get as crowded as Toms2 cafe.