For a Banach algebra A, rad(A) denotes the radical of A and for a ∈ A, r(a) denotes the spectral radius of A. The following theorem is proved: Let A and B be real commutative Banach algebras, each with the unit 1. Let T: A → B be a linear map satisfying T(1) = 1, T is onto and r(T(a)) = r(a) for all a ∈ A. Then T is a homomorphism modulo rad(B). (This means that T(ab) - T(a)T(b) ∈ rad(B) for all a, b ∈ A). If in addition, B is semisimple, then T is a homomorphism. Further, if A is also semisimple, then T is an isomorphism. As a consequence, we get the following: Let X, Y be compact Hausdorff spaces, let C(X), C(Y ) denote the Banach algebras of all complex valued continuous functions on X, Y respectively each with the supremum norm. Let A, B be uniformly closed real subalgebras of C(X), C(Y ) respectively, each containing the constant function 1. Let T: A → B be a linear onto map. Then T is an isometry and T(1) = 1 if and only if T is an algebra isomorphism. These results generalize the classical theorems of Banach-Stone and Nagasawa.