1Preheat the oven to 350F. In a large re-sealable plastic bag (or a bowl) toss the flour and chicken to coat evenly.
2In a large, heavy ovenproof skillet or Dutch oven, cook the bacon over medium-high heat until crisp; remove from the pan with a slotted spoon and set aside.
3Add the chicken pieces in batches and brown them on all sides. Remove chicken from pot and set aside.
4Pour off all but about a tablespoon of the oil. Add the onion and mushrooms (if you're using them) and cook until tender, about 5 minutes. Add garlic and cook 1 minute more.
5Return the chicken to the pan along with the bacon, stock, tomato and rosemary and bring to a simmer. Bake uncovered for 1 hour, until the chicken is golden, tender and cooked through.
6Serve over pasta or with mashed potatoes.