Place the eggs in a small saucepan and cover with water by 1 inch. Bring to a boil, then remove from the heat; cover and let stand for 12 minutes. Drain and submerge the eggs in ice water to cool, then peel and chop them. Transfer to a salad bowl along with the sliced onion, mushrooms and the spinach.
Meanwhile, in a small skillet, toast the mustard seeds until beginning to pop, about 3 minutes. Reserve half in a small bowl, then transfer the remaining seeds to a blender along with the chopped onion, 5 tablespoons olive oil, the sugar and vinegar; season with salt and pepper. Blend until smooth.
In a medium skillet, heat the remaining 1 tablespoon olive oil over medium heat. Add the ham and cook, turning once, until browned, about 10 minutes. Transfer to a work surface to cool slightly, then cut into bite-size pieces.
Drizzle the vegetables with the dressing, season with salt and pepper and toss. Sprinkle the ham and reserved mustard seeds on top.