In this paper, a comprehensive Model-Predictive-Control (MPC) controller that enables effective complex track maneuvering for Self-Driving Cars (SDC) is proposed. The paper presents the full design details and the implementation stages of the proposed SDC-MPC. The controller receives several input signals such as an accurate car position measurement from the localization module of the SDC measured in global map coordinates, the instantaneous vehicle speed, as well as, the reference trajectory from the path planner of the SDC. Then, the SDC-MPC generates a steering (angle) command to the SDC in addition to a throttle (speed/brake) command. The proposed cost function of the SDC-MPC (which is one of the main contributions of this paper) is very comprehensive and is composed of several terms. Each term has its own sub-objective that contributes to the overall optimization problem. The main goal is to find a solution that can satisfy the purposes of these terms according to their weights (contribution) in the combined objective (cost) function. Extensive simulation studies in complex tracks with many sharp turns have been carried out to evaluate the performance of the proposed controller at different speeds. The analysis shows that the proposed controller with its tuning technique outperforms the other classical ones like PID. © 2019 Institution of Engineering and Technology. All rights reserved.