We propose an analytical approximation of European option prices when the underlying price process follows general diffusion. The characteristic function of the logarithm of the underlying price process is first obtained, which is approximated as the solution to the system of ordinary differential equations. The price is then derived by Fourier inversion. We provide several examples of price processes and examine the accuracy of the approximation.