Place eggs in a saucepan and cover with cold water. Bring water to a boil; cover, remove from heat, and let eggs stand in hot water for 10 to 12 minutes. Remove from hot water, cool, peel and chop.
Place bacon in a large, deep skillet. Cook over medium high heat until evenly brown. Drain, crumble and set aside.
In a large bowl, combine the eggs, bacon, spinach and onion.
In a small bowl, whisk together the oil, lemon juice, garlic and salt and pepper. Pour over salad and toss well to coat.