Bring a medium saucepan of salted water to boil. Add asparagus; cook until just tender, 2 minutes. Drain; set aside.
Warm 1 Tbsp. oil in a large skillet over medium-high heat. Add eggs and cook without stirring until set around the edges, about 30 seconds. Break eggs into pieces with a spatula and stir until fully cooked and set, about 1 minute longer. Scrape eggs into a bowl.
Add remaining 2 Tbsp. oil to skillet with ham and garlic and cook, stirring, until garlic is fragrant. Add rice and soy sauce and cook, stirring, until rice is coated and very hot, 3 to 4 minutes. Stir in asparagus, eggs and scallions and cook another minute. Serve immediately.