Bring the pot of water to a boil and cook the potatoes until fork tender, about 40 minutes.
Combine the semolina and all-purpose flour with ½ cup Parmesan cheese, ½ teaspoon salt, and ½ teaspoon pepper on a large clean surface.
Cut the potatoes in half while still hot.
Carefully place the potatoes cut side down in a ricer and press over the flour mixture. Repeat with all of the potatoes.
Preheat the oven to 375 F.
Once the potatoes have cooled slightly, make a well in the center and add the eggs.
Whisk the eggs together and then begin mixing in the potatoes and flour.
Knead until a soft dough forms, adding more flour if the dough is too sticky. Set aside to rest while preparing the sauce.
Add the olive oil to a large saute pan set over medium heat. Add the garlic and cook until fragrant.
Add the canned tomatoes, along with the remaining ½ teaspoon salt and ½ teaspoon pepper to the pan. Stir and cook over medium heat for 10 minutes, then turn to low.
Roll the gnocchi dough into logs, about ½ inch in width, as long as you would like.
Cut the log into ½ inch-long pieces.
Using a gnocchi board or the back of a fork, roll the gnocchi pieces along the ridges to score the surface of the gnocchi.
Bring a pot of salted water to boil.
Add the gnocchi in batches and cook until they float to the top, about 3 minutes.
Transfer the cooked gnocchi to the sauce and stir to combine.
Cover the gnocchi with the mozzarella cheese and grape tomatoes. Bake for 10 minutes or until the top is bubbly and slightly browned.
Top with basil and the remaining ¼ cup Parmesan cheese. Serve while hot.