Le produit  de deux matrices ne peut se définir que si le nombre de colonnes de la 1ère matrice est  identique au nombre de lignes de la 2ème matrice, c'est à dire lorsque les deux matrices sont de type compatible.

Le produit C de deux matrices A et B se définit ainsi : 

 c_(ik)=a_(ij)b_(jk),
(1)

où on fera la somme d'indice j pour toutes les valeurs possibles de i et k ; la notation précédente utilise la convention de sommation d'Einstein (selon cette convention, quand l'indice d'une variable apparaît deux fois dans un terme, on sous-entends la sommation sur toutes les valeurs que peut prendre cet indice). Cette sommation est communément utilisée pour les matrices et le calcul tensoriel. 

Autre formulation de ce produit matriciel : 

 [c_(11) c_(12) ... c_(1p); c_(21) c_(22) ... c_(2p); | | ... |; c_(n1) c_(n2) ... c_(np)]=[a_(11) a_(12) ... a_(1m); a_(21) a_(22) ... a_(2m); | | ... |; a_(n1) a_(n2) ... a_(nm)][b_(11) b_(12) ... b_(1p); b_(21) b_(22) ... b_(2p); | | ... |; b_(m1) b_(m2) ... b_(mp)],
(2)

c_(11)=a_(11)b_(11)+a_(12)b_(21)+...+a_(1m)b_(m1)
(3)
c_(12)=a_(11)b_(12)+a_(12)b_(22)+...+a_(1m)b_(m2)
(4)
c_(1p)=a_(11)b_(1p)+a_(12)b_(2p)+...+a_(1m)b_(mp)
(5)
c_(21)=a_(21)b_(11)+a_(22)b_(21)+...+a_(2m)b_(m1)
(6)
c_(22)=a_(21)b_(12)+a_(22)b_(22)+...+a_(2m)b_(m2)
(7)
c_(2p)=a_(21)b_(1p)+a_(22)b_(2p)+...+a_(2m)b_(mp)
(8)
c_(n1)=a_(n1)b_(11)+a_(n2)b_(21)+...+a_(nm)b_(m1)
(9)
c_(n2)=a_(n1)b_(12)+a_(n2)b_(22)+...+a_(nm)b_(m2)
(10)
c_(np)=a_(n1)b_(1p)+a_(n2)b_(2p)+...+a_(nm)b_(mp).
(11)

La multiplication de matrices est associative comme on le voit ici :

 [(ab)c]_(ij)=(ab)_(ik)c_(kj)=(a_(il)b_(lk))c_(kj),
(12)

où l'on utilise de nouveau la sommation d'Einstein. 

Puisque a_(il), b_(lk), et c_(kj) sont des nombres scalaires, on utilise l'associativité de la multiplication scalaire pour écrire : 

 (a_(il)b_(lk))c_(kj)=a_(il)(b_(lk)c_(kj))=a_(il)(bc)_(lj)=[a(bc)]_(ij).
(13)

Comme ceci est vrai pour tout i et j, on a 

 (ab)c=a(bc).
(14)

Donc la multiplication de matrices est associative. L'équation (13) peut donc s'écrire sans ambiguïté : 

 [abc]_(ij)=a_(il)b_(lk)c_(kj),
(15)

Et grâce à l'associativité, les matrices forment un semi-groupe muni de la multiplication matricielle.

La multiplication de matrices est aussi distributive. Si A et B sont des matrices m×n et C et D sont n×p matrices, alors
A(C+D)=AC+AD
(16)
(A+B)C=AC+BC.
(17)

Puisque les matrices n×n avec la loi d'addition forment un groupe abélien, les matrices n×n forment un anneau.

Cependant, la multiplication de matrices n'est, en général, pas commutative (bien qu'elle le soit si A et B sont diagonales et de la même dimension).

Le produit de deux matrices par bloc (sous-matrice) se fait en multipliant chaque bloc : 

 [o o    ; o o    ;   o   ;    o o o;    o o o;    o o o][x x    ; x x    ;   x   ;    x x x;    x x x;    x x x] 
 =[[o o; o o][x x; x x]  ;  [o][x] ;   [o o o; o o o; o o o][x x x; x x x; x x x]].
(18)