Bring rice and water to a boil in a saucepan. Cover, reduce heat to low and cook for 18 minutes; rest covered off heat for 10 minutes.
Place eggs in a separate saucepan and cover with cold water by 1 inch. Bring to a boil, cover, remove from heat and stand for 11 minutes; transfer to ice water for 5 minutes, then peel and halve.
Heat oil in a large skillet over medium heat. Cook onion, carrot and celery for 7 to 8 minutes until softened.
Increase heat to medium-high, add beef and cook for 7 to 8 minutes, breaking into fine crumbles and cooking to 160°F. Stir in garlic, ginger and curry powder for 1 minute.
Add apple, tomatoes, ketchup, Worcestershire, soy sauce and broth. Simmer uncovered over medium-low heat for 8 to 10 minutes, stirring, until thick enough that a spatula leaves a brief path across the pan.
Divide rice among four bowls and spoon the curry over one side. Add two boiled egg halves to each portion and serve hot.