According to statistics, the majority of accidents are attributed to driver negligence, especially when a driver intends to lane change or to overtake another vehicle, which is most likely to cause accidents. In addition, overtaking is one of the most difficult and complex functions for the development of autonomous driving technologies because of the dynamic and complicated task involved in the control strategy and electronic control systems, such as steering, throttle, and brake control. This paper proposes a safe overtaking maneuver procedure for an autonomous vehicle based on time to lane crossing (TLC) estimation and the model predictive control scheme. As overtaking is one of the most complex maneuvers that require both lane keeping and lane changing, a vision-based lane-detection system is used to estimate TLC to make a timely and accurate decision about whether to overtake or remain within the lane. Next, to maintain the minimal safe distance and to choose the best timing to overtake, the successive linearization-based model predictive control is employed to derive an optimal vehicle controller, such as throttle, brake, and steering angle control. Simultaneously, it can make certain that the longitudinal acceleration and steering velocity are maintained under constraints to maintain driving safety. Finally, the proposed system is validated by real-world experiments performed on a prototype electric golf cart and executed in real-time on the automotive embedded hardware with limited computational power. In addition, communication between the sensors and actuators as well as the vehicle control unit (VCU) are based on the controller area network (CAN) bus to realize vehicle control and data collection. The experiments demonstrate the ability of the proposed overtaking decision and control strategy to handle a variety of driving scenarios, including a lane-following function when a relative yaw angle exists and an overtaking function when the approaching vehicle has a different lateral velocity.