Heat 3 tablespoons of butter in a cast iron pot (or a large skillet) over medium-low heat. Add in the onion and saute for 5 minutes until they are slightly golden brown stirring often. Add in the shredded carrots and continue to cook for another 3 minutes. Season with 1/4 teaspoon salt and 1/4 teaspoon ground black pepper. Add thinly sliced white mushrooms to the onions and carrots and continue to saute on medium heat for 5 minutes.
Clean the chicken thighs ( you can also use chicken breast, or chicken tenderloins) and cut off the fat or any carcass that might be on it. Chop the chicken thighs into small bite sizes. Add the chicken to the pan and saute on medium-high heat for 5 minutes stirring often.
Stir 2 tablespoons of all-purpose flour ( or a cornstarch slurry ) and continue to saute with the vegetables ( this helps get rid of the raw flour taste, and bring out the nutty aroma) and chicken for a few minutes then drizzle in 2 cups of chicken broth stirring continuously ( this prevents lumpy gravy) until the broth is smooth. Bring to a light simmer. (remember the gravy will thicken as it cools. if you like a thicker gravy you can add an extra 1/2 tablespoon of flour)
Add in 1 cup half and half ( you could also use whole milk) stirring continuously. Simmer for 5 minutes then turn the heat off. Add in more salt or pepper to taste if needed.