Preheat oven to 350 degrees. Add 2 tbsp olive oil to a 9 x 13 inch baking dish and spread the oil around to coat the bottom. Set aside
Add 1 tablespoon olive oil to a skillet and place over medium heat. Add the diced onion and sauté until soft and golden brown, about 8-10 minutes. Add the minced garlic and cook 1 minute longer. Scrape the onion and garlic into a large bowl.
Cut the tops off the tomatoes and discard. Scoop out the inside of the tomatoes, reserving 3/4 cup of the pulp and juice and discarding the rest. Set the hollowed out tomatoes inside the baking dish.
Add the 3/4 cup tomato pulp and juice to the bowl with the onions and garlic along with the cooked rice, chopped basil and parsley, salt, 1 tsp black pepper, red pepper flakes, and 1/2 cup grated parmesan.
Push about 1 ounce of fresh mozzarella cheese into the center of each stuffed tomato, burying it in the stuffing.
In a small bowl, mix the remaining 1/2 cup grated parmesan with the panko bread crumbs and remaining 1/2 tsp black pepper. Sprinkle evenly over the tops of the tomatoes.
Bake for 35 minutes. Turn on the broiler and let cook for another 1-2 minutes to brown the bread crumbs. Watch carefully - the bread crumbs will go from golden brown to burnt in a matter of seconds.
Remove from the oven, drizzle the tops with another 1-2 tsp olive oil and serve.