Heat a large saucepan over medium heat. Add the olive oil and onions. Cook until softened and translucent, about 5 minutes. Add the garlic and 1 tsp. of the rosemary. Cook until aromatic, about 30 seconds. Add tomatoes. Break up the tomatoes using a whisk or clean kitchen scissors. Stir in the basil. Bring to a simmer and cook until the flavors have melded and the sauce has thickened, about 20 minutes.
While the sauce is cooking, bring a large pot of salted water to a boil. Cook the angel hair according to package directions. Drain and reserve.
Preheat broiler. Heat a grill pan over medium-high heat. Sprinkle chicken breast with the garlic powder, remaining rosemary and salt and pepper to taste. Grill until lightly charred on one side, about 3 minutes then turn and repeat. Check that the chicken is cooked through. Top each piece of chicken with ¼ of the mozzarella. Place on a baking tray and broil until melted and starting to brown.
Just before serving, stir the Parmesan into the tomato sauce. Taste and adjust seasoning.
Divide the pasta between 4 bowls. Top with sauce then chicken. Sprinkle with remaining basil.