We study a free boundary problem for the Fisher-KPP equation: ut = uxx + f(u) (g(t) < x < h(t)) with free boundary conditions h′(t) = −ux(t, h(t)) − α and g′(t) = −ux(t, g(t)) + β for 0 < β < α. This problem can model the spreading of a biological or chemical species, where free boundaries represent the spreading fronts of the species. We investigate the asymptotic behaviour of bounded solutions. There are two parameters α0 and α* with 0 < α0 < α* which play key roles in the dynamics. More precisely, (i) in case 0 < β < α0 and 0 < α < α*, we obtain a trichotomy result: (i-1) spreading, i.e., h(t) − g(t) → +∞ and u(t, ⋅ + ct) → 1 with c ∈ (cL, cR), where cL and cR are the asymptotic spreading speed of g(t) and h(t), respectively, (cR > 0 > cL when 0 < β < α < α0; cR = 0 >cL when 0 < β < α = α0; 0 > cR > cL when α0 < α < α* and 0 < β < α0); (i-2) vanishing, i.e., limt→Th(t) = limt→Tg(t) and limt→T u(t, x) = 0, where T is some positive constant; (i-3) transition, i.e., g(t) → −∞, h(t) → −∞, 0 < limt→∞[h(t) − g(t)] < +∞ and u(t, x) → V*(x − c*t) with c* < 0, where V*(x − c*t) is a travelling wave with compact support and which satisfies the free boundary conditions. (ii) in case β ≥ α0 or α ≥ α*, vanishing happens for any solution.