Preheat oven to 350°F. Spray a 6½x10-inch loaf pan with nonstick cooking spray. Set aside.
In a large, non-stick pan over medium-high heat, add oil.
When the oil is hot, add onions. Cook for 5-7 minutes, or until tender, stirring frequently. Remove from heat; set aside.
In a large bowl, combine beef, eggs, cooked onions, garlic, crackers, salt, pepper, and Worcestershire sauce.
Pour in the milk, starting with ¼ cup, and mix. The texture should be soft, but not runny. Add the remaining milk, as needed.
To the prepared pan, add the meat mixture, making a loaf shape.
In a separate bowl, combine the ketchup and barbecue sauce. Mix well and spread over the top of the meatloaf.
Bake for 1 hour to 1 hour and 15 minutes.
After the meatloaf has been baked, carefully add the mashed potatoes to the top. Use an offset spatula to smooth the potatoes into an even layer.
Broil the frosted meatloaf for 4-5 minutes, or until golden.
Remove the meatloaf from the oven. Let it rest for about 5 minutes before garnishing with parsley and slicing.