The 84 year old, who portrayed 007 from 1973 to 1985, caused controversy last year (11) by branding Craig's Quantum of Solace "a long, disjointed commercial" - but Moore insists he is a huge fan of the Layer Cake star.
In his new book Bond on Bond, he writes, "I loved Casino Royale and Daniel Craig. He is a wonderful actor, certainly the best actor to play Bond. (He has) the best build of any Bond."
Moore also admits he is looking forward to the upcoming 23rd installment of the superspy franchise, adding: "I believe that Skyfall is going to have a lot more humour in it than Quantum of Solace did, something I'll be pleased to see."
Sean Connery, George Lazenby, Timothy Dalton and Pierce Brosnan have also played 007 in the films since the first movie, Dr. No, in 1962.