Heat the oil in a large saucepan or Dutch oven over medium heat. When it shimmers, add the sausage and cook, turning occasionally, until well browned all over, about 15 to 20 minutes. Remove to a plate and set aside.
Return the pan to medium heat, add the onion and garlic, and season with salt and pepper. Cook, stirring occasionally, until golden brown, about 10 minutes. Add the squash and potatoes and cook until the potatoes are just starting to brown, about 5 minutes. Stir in the caraway and cook until fragrant, about 30 seconds.
Add the tomatoes (with juices) and water and bring to a boil. Reduce the heat to low and simmer until the vegetables are fork tender, about 45 minutes to 1 hour. Slice the reserved sausage into
1/2-inch rounds and add it to the pan along with the spinach. Cook until the sausage is heated through and the spinach is wilted, about 2 minutes.