Put a large pot of salted water on to boil for the pasta.
Add 2 tablespoons of the flour, along with the salt and pepper to a food storage bag and shake to combine. Cut the chicken breasts across the grain into 1/4-inch thick slices and add them to the bag. Shake well to coat the chicken with the seasoned flour.
Heat 3 tablespoons of the olive oil in a large pan over medium-high heat and add the chicken in a single layer. Cook, turning frequently, until light golden in color, about 3 minutes. Transfer to a plate and set aside.
Reduce the heat to medium and add the remaining tablespoon of oil to the pan. Add the onion and cook until soft and translucent, 3 to 4 minutes.
Add the mushrooms and continue cooking, stirring frequently, until any moisture the mushrooms give off has evaporated. Add the garlic and continue cooking just until fragrant.
Sprinkle the remaining tablespoon of flour over the mushroom mixture. Combine well and continue cooking until the mixture is lightly browned, 2 to 3 minutes, then stir in the Marsala and chicken broth.
Increase the heat to medium-high and bring the mixture to a simmer. Continue cooking for 4 to 5 minutes, stirring occasionally.
While the Marsala sauce simmers, cook and drain the pasta according to package directions.
Reduce the heat on the sauce to medium and return the chicken to the pan. Turn the pieces several times to coat with sauce and continue cooking until the sauce thickens slightly, 1 to 2 minutes longer.
Add the tomatoes, butter and balsamic vinegar and cook just long enough for the butter to melt and the tomatoes to soften slightly, about 2 minutes. Stir in the parsley and remove from the heat.
To serve, plate a portion of pasta, top with the chicken-mushroom mixture and spoon some sauce over all.