Preheat oven to 375F.
Bring a large pot of salted water to a boil on the stove.
Once the salted water is boiling, add the dried ziti pasta to the pot and cook for 8-10 minutes, or until the pasta is al dente and almost completely tender.
Drain the cooked pasta and set aside.
In a large skillet, heat the olive oil over medium-high heat.
Salt the chicken pieces, and add some freshly-ground black pepper.
When the oil is hot, add the cubed chicken.
Cook on high heat for 4-5 minutes, until chicken is almost completely cooked through.
Remove the chicken from the pan and set aside on a plate to rest.
Add the diced onion to the skillet and reduce heat to medium-low.
Cook the onion on medium-low heat for 8-15 minutes, stirring frequently, cooking until the onion is completely softened.
Add the tomato paste and cook on medium heat for an additional 5-10 minutes, stirring frequently.
Add the garlic and cook for an additional 2 minutes.
Add the crushed tomatoes and red pepper flakes to the pan and bring to a simmer.
Simmer for 30 minutes.
In a medium skillet over medium-high heat, melt the butter.
Add the white button mushrooms and cook for about 10 minutes, until lightly browned.
In a large bowl, combine the cooked ziti, cooked chicken, tomato sauce, fresh basil, cooked mushrooms, cheddar cheese, and mozzarella cheese.
*Save a small amount of the finely-sliced fresh basil for garnishing your plates at the end.
Stir the mixture until combined.
Grease a deep-sided 9x13 inch baking dish.
Pour the ziti mixture into the baking dish.
Sprinkle the grated parmesan cheese and cheddar cheese over the top.
Bake at 375F for about 30 minutes, until the top is golden brown and bubbly.
Let cool for 10 minutes before serving.
Garnish with the remaining fresh basil.