We consider the delay minimization problem in an energy harvesting communication network with energy cooperation. In this network, nodes harvest energy from nature for use in data transmission, and may transfer a portion of their harvested energies to neighboring nodes through energy cooperation. For fixed data and energy routing topologies, we determine the optimum data rates, transmit powers and energy transfers, subject to flow and energy conservation constraints, in order to minimize the network delay. We start with a simplified problem with fixed data flows and optimize energy management at each node for the case of a single energy harvest per node. This is tantamount to distributing each node's available energy over its outgoing data links and energy transfers to neighboring nodes. For this case, with no energy cooperation, we show that each node should allocate more power to links with more noise and/or more data flow. In addition, when there is energy cooperation, our numerical results indicate that, energy is routed from nodes with lower data loads to nodes with higher data loads. We extend this setting to the case of multiple energy harvests per node over time. In this case, we optimize each node's energy management over its outgoing data links and its energy transfers to neighboring nodes, over multiple time slots. For this case, with no energy cooperation, we show that, for any given node, the sum of powers on the outgoing links is equal to the single-link optimal power over time. Finally, we consider the problem of joint flow control and energy management for the entire network. We determine the necessary conditions for joint optimality of a power control, energy transfer and routing policy. We provide an iterative algorithm that updates the data and energy flows, and power distribution over outgoing data links. We show convergence to a Pareto-optimal operating point.