Preheat oven to 350 degrees F.
In a large, heavy Dutch oven over high heat fry the bacon until crisp and all of the fat is rendered. Using a slotted spoon, transfer the crisp bacon bits to paper towels to drain. Set aside and reserve.
Season the chicken pieces with the salt and pepper. Brown the chicken pieces in the hot bacon fat, working in batches, if necessary, until golden on all sides. Transfer the chicken pieces to a large plate or bowl and set aside. Remove all but about 4 tablespoons of the bacon fat from the Dutch oven. Reduce the heat to medium-high and add the chopped onion, and garlic to the Dutch oven and cook until soft, 5 to 6 minutes.
Add the mushrooms and cook until they've released most of their liquid and have begun to brown. Add the flour and tomato paste and cook, stirring constantly, for 1 minute. Slowly add the wine and stock, stirring constantly. Add the thyme, bay leaves, reserved bacon and chicken. Bring liquid to a boil, reduce the heat to medium, and cook the sauce at a gentle simmer for 15 minutes, until liquid is slightly thickened. Bring the sauce to a boil and cover the pot. Place in the oven and cook for about 1 1/2 hours, or until the chicken is very tender.
Transfer the chicken pieces to a serving dish and cover loosely to keep warm. Return pot to medium-low heat. Skim any fat from the surface of the cooking liquid and increase the heat to medium-high. Add the heavy cream and pearl onions and cook until the sauce has thickened slightly and coats the back of a spoon, about 15 to 20 minutes. Taste and adjust the seasoning if necessary. Return the chicken to the Dutch oven and cook for a few minutes to heat through, then serve.
If you don't have a Dutch oven, you can do all of this in a saucepan and then throw it all into a roast pan to bake.
I like to serve this with polenta, or mashed potatoes, and vegetables of your choice.