LOS ANGELES -- San Francisco Giants catcher Buster Posey has won the National League batting title with a .336 average.