Give him a bath. It's that simple. I've actually ceased giving my cat full-immersion baths because it was much too stressful on both of us. Now I opt to give him a thorough rub down with a wet washcloth with a drop of biodegradable soap, which works pretty well without making either us overly upset. He will actually purr if I wipe him down gently while he is eating. In this situation, I needed to really scrub since he decided to roll in the catnip patch outside. The red Georgia dirt isn't kind to white fur. Here he is giving himself the post-bath bath. We'll be friends again in about half an hour.