Add 2 teaspoons of olive oil to a large pan over medium-high heat.
Add sausage to the hot pan, working in two batches. Break up sausage into bite-size pieces. Cook until cooked through and lightly browned. Drain off fat and transfer to a plate.
Turn heat to medium and add the remaining 2 teaspoons of olive oil to the pan and add the onions. Add a pinch of salt to help the onions soften. Add 2 tablespoons of water to the pan to help deglaze the pan. Cook onions until softened.
Once onions are softened, add the minced garlic, fennel, oregano, and basil and mix together until fragrant (about 30 seconds).
Add sausage back to the pan and combine with the onion mixture.
Add the can of diced tomatoes, 3/4 cup of heavy cream, and 1/4 cup of warm water to the pan. Add the gnocchi to the pan. Stir to combine and bring to a simmer. Turn heat to low and cover until gnocchi is cooked through and tender, about 5 minutes.
Taste for doneness and season with salt and pepper to taste.
Once the gnocchi is cooked, remove from heat and add 1 cup of mozzarella, 1/8 cup of shredded Parmesan, and the chopped parsley. Stir to combine.
Top with the remaining 1/2 cup of mozzarella and broil on high in the oven until melted and lightly browned (broiling is optional).
Serve with remaining Parmesan.