Dice onion. Peel and dice potatoes. Heat olive oil in a 3 or 4 quart saucepan over medium heat. Add onions and potatoes and stir frequently until onions are soft, about 5 minutes. Add 1 cup water, stir to get any browned bits up, and simmer for 10 minutes.

Meanwhile, separate the broccoli into florets (reserving a few for garnish), peel and dice the broccoli stems and add to the potato mixture. Add 2 cups milk and bring to a simmer. Cover and simmer until all vegetables are tender, but not mushy, about 10 minutes.

Cook the reserved broccoli pieces very briefly, 30 - 40 seconds (microwave or in a small pan with a tablespoon of water). This step is optional, but it will improve their color and flavor.