This paper proposes a nonlinear maximum power point tracking (MPPT) controller for photovoltaic (PV) systems. The proposed MPPT technique is designed in conjunction with a Z-source dc-dc converter as an interface between the PV array and the load. To improve the system performance in transient regime as well as steady-state condition in both tracking and regulation, a nonlinear MPPT controller is designed. The scheme of the proposed nonlinear MPPT controller consists of the design of a nonlinear MPPT algorithm and a nonlinear controller for the duty cycle generation. The effectiveness of the proposed method is investigated via MATLAB simulation. In addition, the results are compared with the conventional perturb and observe (P&O) method. The simulation results highlight advantages of the proposed technique over the conventional P&O method in terms of an improved response in the transient state, an accurate tracking of the MPP as well as a significant reduction in oscillations around the maximum power point (MPP).