Using a spread of PG(3, p) and certain projective two-weight codes, we give a general construction of Hadamard difference sets in groups H x (Z(p))(4), where H is either the Klein 4-group or the cyclic group of order 4, and p is an odd prime. In the case p = 3 (mod 4), we use an ovoidal fibration of PG(3, p) to construct Hadamard difference sets. this construction includes Xia's construction of Hadamard difference sets as a special case. In the case p = 1 (mod 4). we construct new reversible Hadamard difference sets by explicitly constructing the two-weight codes needed in our general construction method. Using a well-known composition theorem, we conclude that there exist Hadamard difference sets with parameters (4m(2), 2m(2) - m, m(2) - m), where m = 2(d)3(b)5(2c1)13(2c2)17(2c3)p(1)(2)p(2)(2) ... p(1)(2) with a, b, c(1), c(2), c(3) positive integers and where each p(1) is a prime congruent to 3 modulo 4, l less than or equal to j less than or equal to t. (C) 1997 Academic Press