Realizing the fastest transition from a quantum state to another is an interesting problem in elementary quantum mechanics as well as in quantum computation. We present a general framework for finding the time-optimal evolution and the optimal Hamiltonian for a quantum system with a given set of initial and final states. Our formulation is based on variational principle and is analogous to that for the brachistochrone in classical mechanics. We demonstrate the method by solving some simplest examples. We also discuss some other versions of quantum brachistochrone, namely, that for realization of unitary operators and for evolution of mixed states, etc.