Melt butter in a large saucepan over medium heat. Cook and stir onion and celery in hot butter until soft, about 8 minutes. Stir flour into butter to incorporate. Gradually whisk chicken stock into flour mixture. Bring mixture to a boil, reduce heat to medium-low, and cook at a simmer until thickened, about 5 minutes.
Remove saucepan from heat. Stir peanut butter and evaporated milk into stock until peanut butter melts into the mixture. Return saucepan to low heat. Cook at a simmer until flavors have blended, about 15 minutes. Garnish with roasted peanuts to serve.
For a thicker, smoother soup, rub mixture of onion, celery, butter, and flour through a sieve.