rigidbody.addforce() flips player

I have an game object that has children that make up a simple car. (I think this is the issue) I used to use transfrom.Translate to move the car around but then I noticed bad effects when colliding with other buildings and cars. It has a rigidbody on it and when I use rigidbody.addforce(Vector3.forward*100f) it slowly flips the car over via the X axis then moves it forward. When I use rigidbody.addRelativeForce(Vector3.forward*300); the car spins in circles along the Y axis.

I have the same problem, please can you tell me how you figured it out(if you did)?