Heat olive oil in a large nonstick skillet over medium heat. Cut sweet potatoes into cubes; cook, stirring, until starting to soften, 8 to 10 minutes.
Add curry powder. Cook 1 minute. Add water and chopped red onion. Cook, stirring, until water evaporates and potatoes are tender and browned, about 10 minutes. Transfer to a bowl.
In the same skillet, cook spinach in two batches, adding second batch when first wilts, 2 minutes. Drain; add to potatoes.
Stir in balsamic vinegar; season with coarse salt and ground pepper.