Consider the semilinear parabolic equation −u t (x, t) + u xx + q(u) = f (x, t), with the initial condition u(x, 0) = u 0 (x), Dirichlet boundary conditions u(0, t) = ϕ 0 (t), u(1, t) = ϕ 1 (t) and a sufficiently regular source term q(•), which is assumed to be known a priori on the range of u 0 (x). We investigate the inverse problem of determining the function q(•) outside this range from measurements of the Neumann boundary data u x (0, t) = ψ 0 (t), u x (1, t) = ψ 1 (t). Via the method of Carleman estimates, we derive global uniqueness of a solution (u, q) to this inverse problem and Hölder stability of the functions u and q with respect to errors in the Neumann data ψ 0 , ψ 1 , the initial condition u 0 and the a priori knowledge of the function q (on the range of u 0). The results are illustrated by numerical tests. The results of this paper can be extended to more general nonlinear parabolic equations.