Cook the pasta according to the package directions, drain and cover with lid to keep hot.
Cook the bacon until brown and crispy.
Remove the bacon with a slotted spoon and place on paper towels to absorb the grease.
Pour off all but 2 tablespoons of the bacon grease, and add the onion to the pan.
Turn the heat down and cook the onion until soft, about 3-4 minutes.
Add the garlic and cook, stirring constantly, for 1-2 minutes. Do not brown it, or it will be bitter.
Add the spinach to the pasta, followed by the hot onions and garlic. Be sure to get all the bacon drippings too.
Toss until the spinach is wilted (see note), and then add the olive oil, balsamic, salt and pepper.
Taste and adjust for seasoning and/or more balsamic.
Serve warm or cold with freshly grated Parmesan cheese, if desired.
If your pasta has cooled down too much, it will not be hot enough to wilt the spinach. If this happens, add the spinach to the pan you cooked the onions and bacon in, and cook it 20-30 seconds, or until it's cooked to your liking. It will start to wilt as soon as you put in the pan.Additional note: If you serve it chilled, be sure to taste it before serving. Pasta tends to soak up the dressing when it's chilled, so it may need some more balsamic and/or oil to moisten it up.