Midfielder Ribery hit the winner from the spot against the run of play on 32 minutes after Nicolas Anelka was brought down in the box by England goalkeeper David James.