Preheat the oven to 375 degrees. In a medium bowl, mix together the ground beef, bread crumbs, 2 onions, curry powder, Italian seasoning, egg, garlic, salt and pepper. Gradually mix in the milk until you have a nice texture for forming meatballs. You many not need all of the milk. Form the meat into balls slightly smaller than golf balls. Place them in a greased baking dish. Bake the meatballs for 30 minutes in the preheated oven. Once the meatballs are in the oven, start making the sauce straight away.
Melt the butter in a saucepan over medium heat. Add the remaining onions and cook until browned. Stir in the ketchup, beef stock, steak sauce, worcestershire sauce, vinegar, instant coffee, brown sugar and lemon juice. Bring to a boil over medium heat, and simmer, stirring occasionally.
Remove the meatballs from the oven, and drain any excess grease. Pour the sauce over the meatballs and return to the oven. Bake for an additional 30 minutes.
These meatballs will taste even better after they have been left to rest for a while to soak up the sauce.