A 3-node co-rotational triangular elasto-plastic shell element is developed. The local coordinate system of the element employs a zero-'macro spin' framework at the macro element level, thus reducing the material spin over the element domain, and resulting in an invariance of the element tangent stiffness matrix to the order of the node numbering. The two smallest components of each nodal orientation vector are defined as rotational variables, achieving the desired additive property for all nodal variables in a nonlinear incremental solution procedure. Different from other existing co-rotational finite-element formulations, both element tangent stiffness matrices in the local and global coordinate systems are symmetric owing to the commutativity of the nodal variables in calculating the second derivatives of strain energy with respect to the local nodal variables and, through chain differentiation with respect to the global nodal variables. For elasto-plastic analysis, the Maxwell-Huber-Hencky-von Mises yield criterion is employed together with the backward-Euler return-mapping method for the evaluation of the elasto-plastic stress state, where a consistent tangent modulus matrix is used. Assumed membrane strains and assumed shear strains---calculated respectively from the edge-member membrane strains and the edge-member transverse shear strains---are employed to overcome locking problems, and the residual bending flexibility is added to the transverse shear flexibility to improve further the accuracy of the element. The reliability and convergence of the proposed 3-node triangular shell element formulation are verified through two elastic plate patch tests as well as three elastic and three elasto-plastic plate/shell problems undergoing large displacements and large rotations.