Cook the Chicken
In a large pot or Dutch oven, heat olive oil over medium heat. Season the chicken with salt and pepper, and cook until golden brown on both sides and cooked through, about 7 to 8 minutes per side. Remove from pot and set aside to cool.
Sauté the Onion and Garlic
In the same pot, melt the butter (if using). Add diced onion and cook for 4 to 5 minutes until softened. Stir in garlic and cook for another minute.
Add Liquids and Seasonings
Pour in chicken broth, heavy cream, and milk. Stir to combine. Add buffalo sauce, thyme, paprika, cumin, salt, and pepper. Bring to a gentle simmer and let cook for 10 minutes.
Shred the Chicken
While the soup simmers, shred the cooked chicken with two forks. Add the shredded chicken back into the pot and stir well.
Simmer Until Ready
Simmer the soup for another 10 to 15 minutes, allowing everything to heat through and flavors to blend. Adjust salt, pepper, or buffalo sauce as needed.
Serve
Ladle into bowls and top with your favorite garnishes. Serve with celery, chips, or crackers for dipping.