The collision between the assault ship USS Essex and the oiler USNS Yukon happened about 120 miles from land. There were no injuries or fuel spills, officials said.
Investigators blame a steering malfunction on the Essex, which was carrying 982 crew members on its way to San Diego.
The Essex and Yukon were both able to continue toward San Diego despite some damage, which was still being assessed.
The Associated Press contributed to this article.