Heat oil in a large skillet over medium heat. Add shallots. Stir and reduce heat to medium low. Season with a pinch of salt and the black pepper. Allow to caramelize (about 15 minutes), stirring occasionally.
While shallots are caramelizing, cook your pasta according to package directions. As always, make sure you salt your cooking water well.
Before draining pasta, reserve 1 ½ C of the cooking water and set aside.
Once shallots are caramelized, add garlic and tomatoes to pan. Turn heat back up to medium and cook, stirring often, until tomatoes are softened.
Add the spinach to the skillet and cook until wilted. You may need to add in batches until wilted and then add more until it's all wilted.
Once all the spinach is wilted, add pasta to skillet with ¼ C reserved cooking liquid. Add in the parsley and parmesan cheese and mix well with tongs to coat the pasta. Add more reserved water if the mixture seems too thick.
Lastly stir in the bocconcini balls and remove from heat.
Serve with additional grated parmesan if desired.