This paper proposes a systematic method of system identification and control of a proton exchange membrane (PEM) fuel cell. This fuel cell can be used for low-power communication devices involving complex electrochemical reactions of nonlinear and time-varying dynamic properties. From a system point of view, the dynamic model of PEM fuel cell is reduced to a configuration of two inputs, hydrogen and air flow rates, and two outputs, cell voltage and current. The corresponding transfer functions describe linearized subsystem dynamics with finite orders and time-varying parameters, which are expressed as discrete-time auto-regression moving-average with auxiliary input models for system identification by the recursive least square algorithm. In the experiments, a pseudo-random binary sequence of hydrogen or air flow rate is fed to a single fuel cell device to excite its dynamics. By measuring the corresponding output signals, each subsystem transfer function of reduced order is identified, while the unmodeled, higher-order dynamics and disturbances are described by the auxiliary input term. This provides a basis of adaptive control strategy to improve the fuel cell performance in terms of efficiency, as well as transient and steady state specifications. Simulation shows that adaptive controller is robust to the variation of fuel cell system dynamics, and it has proved promising from the experimental results.